Java Jlist selectedValue为空
我对JList上的选择机制有点困惑。假设我有一个JFrame中的JPanel。在这个面板中,我有一个JList和一个TextField。如果单击JList中的某个项目,所选项目将变为浅蓝色,并在其周围创建深蓝色边框。此时,如果调用getSelectedValue(),则可以正确地获取所选值。但是,如果我现在单击文本字段,深蓝色的帧将消失(蓝色的“突出显示”将保留),如果我调用getSelectedValue(),则返回null 为什么会发生这种情况?即使没有焦点(我所说的框架),我如何获得“突出显示”的项目 提前谢谢 编辑:看来问题不是我所解释的。尽管如此,如果我在按下按钮时尝试获取一个空的选定对象,我还是会得到它。捕获:Java Jlist selectedValue为空,java,jlist,Java,Jlist,我对JList上的选择机制有点困惑。假设我有一个JFrame中的JPanel。在这个面板中,我有一个JList和一个TextField。如果单击JList中的某个项目,所选项目将变为浅蓝色,并在其周围创建深蓝色边框。此时,如果调用getSelectedValue(),则可以正确地获取所选值。但是,如果我现在单击文本字段,深蓝色的帧将消失(蓝色的“突出显示”将保留),如果我调用getSelectedValue(),则返回null 为什么会发生这种情况?即使没有焦点(我所说的框架),我如何获得“突出
添加按钮触发了一种方法,在该方法中,列表被清空并用新值重新填充。很明显,即使你正在调试,这些变化也没有显示出来,这就是为什么我忽略它以及屏幕截图显示的原因。如果你很快没有得到一个像样的正确答案,考虑创建和发布一个显示你的问题的方法。他们说,一个小的运行程序,证明了问题的存在,值得千言万语。这不是我观察到的。你的代码一定有问题。发一张SSCCE,这里也一样。如果列表中有一个选项,那么调用
getSelectedValue()
肯定不是空的,即使JList没有焦点。事实上,我刚刚构建了一个示例,它在那里工作。真奇怪。看看编辑,我们不需要捕捉。我们需要一些Java代码。一个SSCCE。顺便说一句,您的屏幕截图显示了ListSelectionEvent侦听器的代码。与按下按钮无关。