TITLE:JTableのセルをダブルクリック

Posted by aterai at 2004-06-28

JTableのセルをダブルクリック

JTableのセルをダブルクリックして内容を表示します。

  • &jnlp;
  • &jar;
  • &zip;
DoubleClick.png

サンプルコード

sorter.setTableHeader(table.getTableHeader());
//JDK 6: table.setAutoCreateRowSorter(true);
table.addMouseListener(new MouseAdapter() {
  public void mouseClicked(final MouseEvent me) {
    if(me.getClickCount()==2) {
      Point pt = me.getPoint();
      int row = sorter.modelIndex(table.rowAtPoint(pt));
      //JDK 6: int row = table.convertRowIndexToModel(table.rowAtPoint(pt));
      String str = String.format("%s (%s)", model.getValueAt(row, 1),
                                            model.getValueAt(row, 2));
      JOptionPane.showMessageDialog(table, str, "title",
                                    JOptionPane.INFORMATION_MESSAGE);
    }
  }
});

解説

上記のサンプルでは、セルをマウスでダブルクリックするとダイアログが開くようになっています。各セルは編集状態になってしまわないように、編集不可にしておく必要があります。

コメント