我正在使用Netbeans来创建JList和事件监听器。 我想要检索用户选择的对象。 到目前为止,我有这个:
private void listKurserValueChanged(javax.swing.event.ListSelectionEvent evt) {
System.out.println("" + ((listKurser)evt.getSource()));
}
但是,我在listKurser上找到了“找不到符号”,这是JList。
有什么问题?
答案 0 :(得分:2)
尝试
private void listKurserValueChanged(javax.swing.event.ListSelectionEvent evt) {
System.out.println("" + ((JList)evt.getSource()));
JList changedList = (JList)evt.getSource();
if (listKurser == changedList) {
//listKurser was changed
}
}
答案 1 :(得分:0)
仅作为序言,我不使用Netbeans,但是当我看到这一行时:
private void listKurserValueChanged(javax.swing.event.ListSelectionEvent evt) {
我猜测Netbeans会自动生成从ListSelectionListener调用的方法,该ListSelectionListener附加到名为“listKurser”的JList。
因此,它是一个唯一的侦听器,只附加到特定的JList,这不一定是坏事。如果是这样,则无需强制转换,甚至无需调用event.getSource()。只需致电:
listKurer.getSelectedValue() //or whatever you're trying to call