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

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

編集者:Terai Atsuhiro
作成日:2004-06-28
更新日:2023-07-11 (火) 09:56:08

概要

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

#screenshot

サンプルコード

 table.addMouseListener(new MouseInputAdapter() {
   public void mouseClicked(MouseEvent me) {
     int col = table.columnAtPoint(me.getPoint());
     if(col==0 && me.getClickCount()==2) {
       showInfo(me);
       table.repaint();
     }else{
       super.mouseClicked(me);
     }
   }
 });

 private void showInfo(final MouseEvent me) {
   SwingUtilities.invokeLater(new Runnable() {
     public void run() {
       int row = sorter.modelIndex(table.rowAtPoint(me.getPoint()));
       String str = model.getValueAt(row, 1)+"("+model.getValueAt(row, 2)+")";
       JOptionPane.showMessageDialog(MainPanel.this, str, "タイトルバー",
                                     JOptionPane.INFORMATION_MESSAGE);
     }
   });
 }
  • &jnlp;
  • &jar;
  • &zip;

解説

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

コメント