如何在 Java 中选择 JList 项时显示值?
JList 是 JComponent 类的一个子类,允许用户选择 单个 或 多项选择。JList 可以生成一个 ListSelectiionListener 接口,其中包括一个抽象方法 valueChanged()。我们可以通过实现 MouseListener 接口或扩展 MouseAdapter 类并调用 getClickCount() 方法将 单击 事件(getClickCount() == 1)与 MouseEvent 类结合使用,从而在从 JList 中选择一个项目时显示一个值。
示例
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class JListItemSeletionTest extends JFrame { private JList list; private JScrollPane jsp; private Vector data; public JListItemSeletionTest() { setTitle("JListItemSeletion Test"); list = new JList(); data = new Vector(); data.addElement("India"); data.addElement("Australia"); data.addElement("England"); data.addElement("England"); data.addElement("New Zealand"); data.addElement("South Africa"); list.setListData(data); list.setSelectedIndex(0); list.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent me) { if (me.getClickCount() == 1) { JList target = (JList)me.getSource(); int index = target.locationToIndex(me.getPoint()); if (index >= 0) { Object item = target.getModel().getElementAt(index); JOptionPane.showMessageDialog(null, item.toString()); } } } }); jsp = new JScrollPane(list); add(jsp, BorderLayout.NORTH); setSize(400, 275); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String args[]) { new JListItemSeletionTest(); } }
输出
广告