Добавление actionlistener столбца в jtable - PullRequest
0 голосов
/ 13 марта 2012

enter image description here

Привет всем .. Мне снова нужна помощь.:)

Как это сделать?Когда я щелкаю по столбцу t1, должна появиться другая форма, объясняющая, что происходит с столбцом t1, скажем, в момент времени 1, Инструкция 1 находится в стадии извлечения.Затем, когда я нажимаю на столбец naman t2, Инструкция 2 находится в стадии извлечения, а Инструкция 1 - в стадии декодирования. И так далее.

Заранее спасибо.Мне очень нужна твоя помощь .. С уважением ..:)

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Вам необходимо добавить следующий фрагмент кода,

    table.addMouseListener(new MouseAdapter() {
        public void mouseClicked(MouseEvent e) {
            // This is for double click event on anywhere on JTable
            if (e.getClickCount() == 2) {
                JTable target = (JTable) e.getSource();
                int row = target.getSelectedRow();
                int column = target.getSelectedColumn();
               // you can play more here to get that cell value and all
                new DialogYouWantToOpen(row, Column);
            }
        }

    });

Диалог, который открывается при двойном щелчке.

class DialogYouWantToOpen extends JDialog{
       JLabel testLabel = new JLable();
       public DialogYouWantToOpen(int row, int column){
         setSize(200,200)
         setLayout(new FlowLayout());
         testLabel.setText("User double clicked at row "+row+" and column "+ column);
         add(testLabel);
       }

}   
0 голосов
/ 13 марта 2012

Как правило, он должен выглядеть примерно так

Listener listener = new Listener() {
  public void handleEvent(Event e) {
    TableColumn column = (TableColumn) e.widget;
    System.out.println(column);
  }
};

, вы получаете столбец вне события и затем делаете с ним все, что хотите.

...