package tableDemo;
/*
* SpaltenAusblenden2.java
*/
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
public class SpaltenAusblenden2 extends JFrame {
private JTable table = new JTable();
private JToolBar toolBar = new JToolBar();
private DefaultTableModel model;
/** Dies sind die Daten der Tabelle*/
private Vector daten = new Vector();
/** Spaltennamen */
private Vector spaltenNamen = new Vector();{
spaltenNamen.addElement("0");
spaltenNamen.addElement("1");
spaltenNamen.addElement("2");
spaltenNamen.addElement("3");
}
public SpaltenAusblenden2() {
setTitle("Spalten ausblenden");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
model = new DefaultTableModel(daten, spaltenNamen);
table.setModel(model);
getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
for( int i=0; i<4; i++ ){
final JCheckBox spalteX = new JCheckBox("Spalte "+i);
spalteX.setSelected(true);
final int splt = i;
spalteX.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent evt) {
if(spalteX.isSelected()){
table.getColumnModel().getColumn(splt).setMinWidth(15);
table.getColumnModel().getColumn(splt).setMaxWidth(2147483647);
table.getColumnModel().getColumn(splt).setPreferredWidth(100);
}else{
table.getColumnModel().getColumn(splt).setMinWidth(0);
table.getColumnModel().getColumn(splt).setMaxWidth(0);
}
}
});
toolBar.add(spalteX);
}
getContentPane().add(toolBar, BorderLayout.NORTH);
setSize(400,300);
setLocationRelativeTo(null);
model.addRow(new Object[]{null,null,null,null});
model.setValueAt("test0",0,0);
model.setValueAt("test1",0,1);
model.setValueAt("test2",0,2);
model.setValueAt("test3",0,3);
}
public static void main(final String args[]) {new SpaltenAusblenden2().setVisible(true);}
}