Rambler's Top100

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я

Все примеры | Примеры по пакетам

Таблица из массива, использование AbstractTableModel


//Таблица из массива, использование AbstractTableModel
//Обработка клика мышью по столбцу
package jtable;

import java.awt.Component;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.AbstractTableModel;


public class AbstrTableFromMap {
    Object[][] data;

    Object[] column;

static  JTable fixedTable, table;

 AbstrTableFromMap(){

     data = new Object[][] {
        { "a", "", "", ""},
        { "", "b", "", ""},
        { "", "", "c", ""},
        { "", "", "", "d"}
        };
    column = new Object[] { "A", "B", "C", "D"};
    AbstractTableModel model = new AbstractTableModel() {
      public int getColumnCount() {
        return column.length;
      }

      public int getRowCount() {
        return data.length ;
      }

      public String getColumnName(int col) {
        return (String) column[col];
      }

      public Object getValueAt(int row, int col) {
        return data[row][col];
      }

      public void setValueAt(Object obj, int row, int col) {
        data[row][col] = obj;
      }

      public boolean CellEditable(int row, int col) {
        return true;
      }
    };
    table = new JTable(model);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     table.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTable1MouseClicked(evt);
            }
        });

}

    private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
        // TODO add your handling code here:
        Component source = (Component) evt.getSource();
        int col= table.getSelectedColumn();
        System.out.println("col  "+col);
     if(col==(table.getModel().getColumnCount()-1)){
      JOptionPane optionPane = new JOptionPane();
        optionPane.setMessage("Привет!");
        optionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE);
        JDialog dialog = optionPane.createDialog(source,
            "Кнопка");
        dialog.show();
     }
    }
    public static void main(String[] args) {
    AbstrTableFromMap atfm=  new AbstrTableFromMap();
    
        JFrame jf=new JFrame();
        
        jf.getContentPane().add(table);
        jf.setSize(333,333);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);

    }

}

06.02.2009

Rambler's Top100


Ассоциативные ссылки