JList 不显示所选值
这是我的问题: 在一个小型 Swing 应用程序中,我创建了一个 JList
,它与 ListDefaultModel
一起使用。 我在其中放入了一些值,当我尝试单击这些值时,没有任何图形变化。
我的意思是:选择事件被引发,但我没有小矩形,它通常是蓝色的。
我希望你能有一些想法。
Here is my question:
In a small Swing app, I create a JList
, which works with a ListDefaultModel
.
I put some values in it, and when I try to click on these values, nothing graphical changes.
I mean: the selection event is raised, but I do not have the small rectangle, which is usually colored blue.
I hope you'll have some ideas.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
根据我的经验,此类错误通常是由代码中引发的其他异常引起的。换句话说,如果由于 SWING 尝试检索要在列表中显示的值而引发代码中的 NullPointerException,那么您的 GUI 可能会变得无响应或行为怪异。
我的第一个建议是尝试一个非常简单的示例,例如:
如果可行,则检查您的代码以查看是否有问题。如果上面的示例也不起作用,那么我建议您应该在此处发布更多详细信息。
祝你好运!
In my experience, such errors are often caused by other exceptions thrown in your code. In other words, if a NullPointerException in your code was be thrown as a result of SWING trying to retrieve a value to be displayed in your list, then your GUI might become unresponsive or behave weird.
My first advise would then be to try out a very simple example like:
If that works, then check your code to see if something might be wrong. If the above example does not work either, then i'd say you should post some more details here.
Good luck!
我也遇到了同样的问题(感谢OP的提示)。结果我的
ListCellRenderer
类实现了ListCellRenderer
接口,而不是扩展DefaultListCellRenderer
。并调用super.getListCellRendererComponent
。所以使用
而不是
I had the same problem (thanks to the OP for the hint). Turned out that my
ListCellRenderer
class was implementing theListCellRenderer
interface instead of extendingDefaultListCellRenderer
. And callsuper.getListCellRendererComponent
.So use
instead of