JList选择已更改

时间:2012-12-12 11:41:04

标签: java swing listener jlist

我正在使用Netbeans来创建JList和事件监听器。 我想要检索用户选择的对象。 到目前为止,我有这个:

private void listKurserValueChanged(javax.swing.event.ListSelectionEvent evt) {
    System.out.println("" + ((listKurser)evt.getSource()));
}

但是,我在listKurser上找到了“找不到符号”,这是JList。

有什么问题?

2 个答案:

答案 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