查找JList的所选项目并实时显示 [英] Find selected item of a JList and display it in real time
问题描述
我有一个 JList
,我正在显示一些ID。我想捕获用户点击的ID并在 JLabel
上显示它。
I have a JList
, where i am displaying some ID's. I want to capture the ID the user clicked and dis play it on a JLabel
.
String selected = jlist.getSelectedItem().toString();
以上代码为我提供了所选的 JList
值。但是这个代码必须放在一个按钮事件中,当我点击按钮时,它将获得JList值并将其分配给 JLabel
。
The above code gives me the selected JList
value. But this code has to be placed inside a button event, where when i click the button it will get the JList value an assign it to the JLabel
.
但是,我想做的是,只要用户点击 JList
的项目来更新 JLabel
实时。 (无需单击按钮即可触发操作)
But, what i want to do is, as soon as the user clicks an item of the JList
to update the JLabel
in real time. (without having to click buttons to fire an action)
推荐答案
一个简单的例子如下所示,使用listselectionlistener
A simple example would be like below using listselectionlistener
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class JListDemo extends JFrame {
public JListDemo() {
setSize(new Dimension(300, 300));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
final JLabel label = new JLabel("Update");
String[] data = { "one", "two", "three", "four" };
final JList dataList = new JList(data);
dataList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent arg0) {
if (!arg0.getValueIsAdjusting()) {
label.setText(dataList.getSelectedValue().toString());
}
}
});
add(dataList);
add(label);
setVisible(true);
}
public static void main(String args[]) {
new JListDemo();
}
}
这篇关于查找JList的所选项目并实时显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!