JList不显示选定的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JList不显示选定的值相关的知识,希望对你有一定的参考价值。

这是我的问题:在一个小型Swing应用程序中,我创建了一个JList,它与ListDefaultModel一起使用。我在其中添加了一些值,当我尝试单击这些值时,没有任何图形更改。

我的意思是:选择事件被提出,但我没有小矩形,通常是蓝色。

我希望你会有一些想法。

答案

根据我的经验,这些错误通常是由代码中抛出的其他异常引起的。换句话说,如果由于SWING尝试检索要在列表中显示的值而抛出代码中的NullPointerException,那么您的GUI可能会变得无响应或表现得很奇怪。

我的第一个建议就是尝试一个非常简单的例子:

DefaultListModel m = new DefaultListModel();
m.addElement("One");
m.addElement("Two");
m.addElement("Three");
m.addElement("Four");
m.addElement("Five");
SomeList.setModel(m);

如果可行,请检查您的代码以查看是否有错误。如果上面的例子也不起作用,那么我想你应该在这里发布更多细节。

祝好运!

另一答案

我遇到了同样的问题(感谢提示的OP)。原来我的ListCellRenderer类正在实现ListCellRenderer界面而不是扩展DefaultListCellRenderer。并且callsuper.getListCellRendererComponent

所以使用

class MyListCellRenderer extends ListCellRenderer {}

代替

class MyListCellRenderer extends JLabel implements ListCellRenderer {}

以上是关于JList不显示选定的值的主要内容,如果未能解决你的问题,请参考以下文章

从 JLIST 中选择一个项目并使用来自该选定 id 的所有 db 信息更新一个表单

jlist添加字符串

Wordpress - 将代码片段包含到布局的选定部分的插件

JList - 单击已选择的项目时取消选择

java和sql到JList

在 JList 中显示数据库中的数据