2014-08-28 76 views
0

我从菜单打开一个ListView的窗口。当我选择唯一的一行时,会打开一个新窗口。ListView选择事件只触发一次(JavaFX),为什么?

问题是,当我关闭此窗口(并回到前一个ListView)并再次单击ListView行(仍然是蓝色,因此选择),窗口不会打开。这就像事件处理程序不专注于该窗口。我在事件处理程序中放置了一个sout,它确实只在第一次被调用/触发。

再次打开第二个窗口的唯一方法是关闭第一个窗口,然后再次从菜单中打开它。然后点击该行并打开第二个窗口(但这只是第一次...)。

可能是什么问题?

亲切的问候,拉蒙

回答

1

如果连接的事件处理程序的列表视图的所选项目或索引属性(打开新窗口),那么它是由设计和预期会那样。为了能够触发选定项目上的事件,您可以实现处理鼠标点击事件的自定义列表单元。

+0

谢谢,我现在设法解决了这个问题。之前,我在selectedItemProperty上使用了一个ChangeListener,这导致了不需要的行为。现在我使用setOnMouseClicked与EventHandler而不是ChangeListener,它的工作原理如下:) – Ramon 2014-08-28 22:16:18