Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jlist selectedValue为空_Java_Jlist - Fatal编程技术网

Java Jlist selectedValue为空

Java Jlist selectedValue为空,java,jlist,Java,Jlist,我对JList上的选择机制有点困惑。假设我有一个JFrame中的JPanel。在这个面板中,我有一个JList和一个TextField。如果单击JList中的某个项目,所选项目将变为浅蓝色,并在其周围创建深蓝色边框。此时,如果调用getSelectedValue(),则可以正确地获取所选值。但是,如果我现在单击文本字段,深蓝色的帧将消失(蓝色的“突出显示”将保留),如果我调用getSelectedValue(),则返回null 为什么会发生这种情况?即使没有焦点(我所说的框架),我如何获得“突出

我对JList上的选择机制有点困惑。假设我有一个JFrame中的JPanel。在这个面板中,我有一个JList和一个TextField。如果单击JList中的某个项目,所选项目将变为浅蓝色,并在其周围创建深蓝色边框。此时,如果调用getSelectedValue(),则可以正确地获取所选值。但是,如果我现在单击文本字段,深蓝色的帧将消失(蓝色的“突出显示”将保留),如果我调用getSelectedValue(),则返回null

为什么会发生这种情况?即使没有焦点(我所说的框架),我如何获得“突出显示”的项目

提前谢谢

编辑:看来问题不是我所解释的。尽管如此,如果我在按下按钮时尝试获取一个空的选定对象,我还是会得到它。捕获:


添加按钮触发了一种方法,在该方法中,列表被清空并用新值重新填充。很明显,即使你正在调试,这些变化也没有显示出来,这就是为什么我忽略它以及屏幕截图显示的原因。

如果你很快没有得到一个像样的正确答案,考虑创建和发布一个显示你的问题的方法。他们说,一个小的运行程序,证明了问题的存在,值得千言万语。这不是我观察到的。你的代码一定有问题。发一张SSCCE,这里也一样。如果列表中有一个选项,那么调用
getSelectedValue()
肯定不是空的,即使JList没有焦点。事实上,我刚刚构建了一个示例,它在那里工作。真奇怪。看看编辑,我们不需要捕捉。我们需要一些Java代码。一个SSCCE。顺便说一句,您的屏幕截图显示了ListSelectionEvent侦听器的代码。与按下按钮无关。