import java.awt.BorderLayout;
import java.awt.HeadlessException;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class TableDoubleClickTest extends JFrame {
private static final long serialVersionUID = 1L;
private JTable table;
private TableModel model;
private String[][] data;
public static void main(String[] args) {
TableDoubleClickTest test = new TableDoubleClickTest();
test.setVisible(true);
}
public TableDoubleClickTest() throws HeadlessException {
super("DoubleClickTest");
data = new String[10][10];
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
data[i][j] = "Col:" + j + " Row:" + i;
}
}
model = new DefaultTableModel(data, data[0]) {
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
table = new JTable(model);
table.setColumnSelectionAllowed(false);
table.setRowSelectionAllowed(true);
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent evt) {
if (evt.getClickCount() == 2) {
setTitle((String) model.getValueAt(table.getSelectedRow(),
table.getSelectedColumn()));
}
}
});
table.setSize(800, 600);
setLayout(new BorderLayout());
getContentPane().add(table, BorderLayout.CENTER);
setSize(800, 600);
pack();
setLocation(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}