2011年9月7日水曜日

テーブルにマウスイベントを付ける

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class swingTest {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO 自動生成されたメソッド・スタブ
  JFrame frame = new JFrame("サンプル");

  // Xボタンが押された時の挙動
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  // ウインドウサイズ
  frame.setSize(300, 150);
  // ウインドウの表示場所とサイズ指定
  frame.setLocationRelativeTo(null);// 中央に表示
  // frame.setBounds(200, 200, 300, 150);

  // JFrameよりContentPaneを取得
  Container contentPane = frame.getContentPane();

  String[][] tabledata = { { "名前1", "10" }, { "名前2", "11" },
    { "名前3", "12" }, { "名前4", "13" } };

  String[] columnNames = { "名前", "年齢" };
  //DefaultTableModel を作成します。
  DefaultTableModel tableModel = new DefaultTableModel(tabledata,columnNames);

  //jテーブルを作成
  final JTable table = new JTable(tableModel);
  
  //テーブルにマウスイベントを付ける
  table.addMouseListener(new java.awt.event.MouseAdapter() {
   public void mouseClicked(MouseEvent e) {
    System.out.println("テーブルがクリックされました");
   }
  });
  
  //jスクロールパネルを作成しテーブルを追加
  JScrollPane sp = new JScrollPane(table);
  //jスクロールパネルのサイズを指定
  sp.setPreferredSize(new Dimension(250, 70));
  //jパネルを作成
  JPanel p = new JPanel();
  //Jパネルにjスクロールパネルを追加
  p.add(sp);
  //フレームにJパネルを追加
  contentPane.add(p, BorderLayout.CENTER);

  // ウィンドウを表示
  frame.setVisible(true);
 }
}

0 件のコメント:

コメントを投稿