私はとを持ってJList
いDefaultListModel
ます。
JList
ダブルクリックイベントに反応してアイテムを作成するにはどうすればよいですか?
私はとを持ってJList
いDefaultListModel
ます。
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());
}
}
});
(Mohamed Salighに基づいて、受け入れられた応答)
NetBeansを使用している場合
JList>イベントウィンドウ>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);
}
}
簡単な解決策があることは知っていますが、マウスとキーボードを使用できるようにする、より一般的な解決策については、リストアクションを確認することをお勧めします。適切なGUI設計により、どちらのアプローチも使用できるようになります。
を使用する最も基本的な例は次のListAction
とおりです。
String[] data = { "zero", "one", "two", "three", "four", "five" };
JList list = new JList( data );
Action displayAction = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
JList list = (JList)e.getSource();
System.out.println(list.getSelectedValue());
}
};
ListAction la = new ListAction(list, displayAction);