А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я Все примеры | Примеры по пакетам |
|
Таблица из массива, использование 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);
}
}
|
|
|
|
|