gpt4 book ai didi

java - 使 JLabel 可复制?

转载 作者:行者123 更新时间:2023-12-01 14:07:31 25 4
gpt4 key购买 nike

我有一个关于使 JLabels 可复制的问题。我有一个下拉菜单,它接受输入并将其显示为 JLabel,当菜单更改时标签也会更改。但是,我想让 JLabel 可复制。我听说这是不可能的,所以我将标签更改为字符串并将其作为文本区域输出。但是当我这样做时,当我从下拉菜单中选择一个新选项时,字符串不会改变。我是 Java 新手,所以请尽可能描述,谢谢。

这是我的一些代码。我真的只需要一种方法来使 JTextArea/JLabel 可复制并使其能够更改

String[] players = {"Nearest Player", "All Players", "Random Player"};
JComboBox<String> player = new JComboBox<String>(players);
JLabel playernumb = new JLabel ("@p");
JLabel playerprompt = new JLabel("Target Player:");

JTextPane box = new JTextPane();

public static void main(String[] args) {
mc frame = new mc();
frame.setVisible(true);
}



player.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if (e.getSource() == player){
JComboBox temp1 = (JComboBox)e.getSource();
String playertxt = (String)temp1.getSelectedItem();
switch (playertxt){
case "Nearest Player": playernumb.setText("@p");
break;
case "All Players": playernumb.setText("@a");
break;
case "Random Player": playernumb.setText("@r");
break;
default: break;
}
}
}
});


add(playerprompt);
add(player);
box.insertComponent(playernumb);

最佳答案

只需使用此代码片段使其看起来像 JTextPane 看起来像 JLabel。

JTextPane f = new JTextPane();
f.setContentType("text/html"); // let the text pane know this is what you want
f.setEditable(false); // as before
f.setBackground(null); // this is the same as a JLabel
f.setBorder(null); // remove the border

感谢这个问题: Selecting text from a JLabel?

关于java - 使 JLabel 可复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com