You should read swing tutorials about listeners first.
This is done very easy.
list.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
//your code
}
}
});
I think this might help you!!
System print out when you double click some item.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
public class AsciiChar_Listing {
String[] data = { "zero", "one", "two", "three", "four", "five" };
JList list = new JList(data);
public AsciiChar_Listing() {
Action displayAction = new AbstractAction() {
public void actionPerformed(ActionEvent e)
{
JList list = (JList)e.getSource();
System.out.println(list.getSelectedValue());
}
};
this.addAction(list, displayAction);
}
private static final KeyStroke ENTER = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
static void addAction(JList source, Action action) {
InputMap im = source.getInputMap();
im.put(ENTER, ENTER);
source.getActionMap().put(ENTER, action);
source.addMouseListener( new ActionMouseListener() );
}
static class ActionMouseListener extends MouseAdapter {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
JList list = (JList)e.getSource();
Action action = list.getActionMap().get(ENTER);
if (action != null) {
ActionEvent event = new ActionEvent(list,ActionEvent.ACTION_PERFORMED,"");
action.actionPerformed(event);
}
}
}
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) { }
JFrame frame = new JFrame();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.getContentPane().add( new JScrollPane(new AsciiChar_Listing().list) );
frame.setSize(200, 300);
frame.setLocationRelativeTo( null );
frame.setVisible( true );
}
}