双击JList元素上的事件

我有一个DefaultListModel JList

如何让JList的项目对双击事件做出反应?

 String[] items = {"A", "B", "C", "D"}; JList list = new JList(items); list.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent evt) { JList list = (JList)evt.getSource(); if (evt.getClickCount() == 2) { // Double-click detected int index = list.locationToIndex(evt.getPoint()); } else if (evt.getClickCount() == 3) { // Triple-click detected int index = list.locationToIndex(evt.getPoint()); } } }); 

我知道你有一个简单的解决scheme,但是你可能想要查看列表动作的更一般的解决scheme,将允许您使用鼠标以及键盘。 正确的GUIdevise应该允许使用任何一种方法。

(根据Mohamed Saligh公认的回应)

如果您正在使用NetBeans

selectJList> Events窗口> mouseClicked

 private void jListNicknamesMouseClicked(java.awt.event.MouseEvent evt) { JList list = (JList)evt.getSource(); if (evt.getClickCount() == 2) { int index = list.locationToIndex(evt.getPoint()); System.out.println("index: "+index); } }