[英]How to add event listener for when a new item in a JList is selected? Netbeans
我想每次选择一个新项目时更新一些字段。 我曾尝试使用Focus Gained事件侦听器和值更改了的侦听器,但是当选择更改时我无法更改它。
有一个简单的示例,您可以使用addListSelectionListener(ListSelectionListener listener)
方法实现该addListSelectionListener(ListSelectionListener listener)
。 在我提供的示例中,重写方法仅将列表中选定元素的标签复制到JTextField field
-当然,您可以实现更改选择时需要执行的行为:
1)使用Java 7或更低版本时:
JTextField field = new JTextField(7);
JList<String> list = new JList<>(new String[] {"a", "b", "c"});
list.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
List<String> values = ((JList<String>)(e.getSource())).getSelectedValuesList();
field.setText(""); // clears previous entry from the JTextField
for(String value : values) {
field.setText(field.getText() + value + " ");
}
}
});
2)使用Java 8或更高版本时, addListSelectionListener()
)的代码:
@Override
list.addListSelectionListener(e -> {
List<String> values = ((JList<String>)(e.getSource())).getSelectedValuesList();
field.setText("");
values.forEach(value -> {
field.setText(field.getText() + value + " ");
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.