gpt4 book ai didi

java - 为什么我的 JList 没有为我提供 java 中 jlist.getSelectedValue() 的值?

转载 作者:行者123 更新时间:2023-12-01 23:16:03 26 4
gpt4 key购买 nike

我正在为 friend 的 Minecraft 服务器制作控制台面板。它生成在线玩家列表,并将它们放入 JList 中。以下是与 JList 相关的所有代码:

public class Panel extends JPanel{
private static DefaultListModel listModel = new DefaultListModel();
private static JList list;

public void demo(){
setLayout(new BorderLayout());
add(buttonCommandPanelInAnotherClass, BorderLayout.CENTER);

list = new JList(listModel);
list.setPreferredSize(new Dimension(260, this.getHeight()));

list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
list.setLayoutOrientation(JList.VERTICAL);

add(new JScrollPane(list), BorderLayout.WEST);
}

public static void generateUsers(){ //called from a button called refreshList
String s = ... call for the user list ... (s contains ', ' as well as the usernames)

String[] users = s.split(", "); // to seperate only the usernames

for(int i = 0; i < users.length; i++){
listModel.addElement(users[i]);
}

list = new JList(listModel);
}

public String getSelectedPlayer(){ //called when i push a command button, such as ban.
return (String) list.getSelectedValue();
}

}

因此,为了进行测试,我正在执行所有生成操作,并且当调用generateUsers() 时,JList 会加载我的所有用户名。但是当我单击按钮调用 getSelectedPlayer();所有内容都在 System.out.println() 中打印;一片空白。无论我有多少用户,结果都是空的。这些按钮位于同一窗口中,如上所示。

为什么我的输出总是为空?如果我调用 list.getSelectedIndex(),它会产生 -1。怎么了?请帮忙!我可以提供更多详细信息!提前致谢!

最佳答案

您要在此处重新分配列表变量:

public static void generateUsers(){ //called from a button called refreshList
String s = ... call for the user list ... (s contains ', ' as well as the usernames)

String[] users = s.split(", "); // to seperate only the usernames

for(int i = 0; i < users.length; i++){
listModel.addElement(users[i]);
}

list = new JList(listModel); // ******** here **********
}

这意味着列表变量引用的 JList 与显示的 JList 不同。

解决方案:不要这样做,不要重新分配变量。
此外,这些方法或字段都不应该是静态的。 无。

关于java - 为什么我的 JList 没有为我提供 java 中 jlist.getSelectedValue() 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21176671/

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