import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
public class TableTestFrame extends JFrame {
private JPanel contentPane;
private JScrollPane scrollPane;
private JTable table;
private JPanel panel;
private JCheckBox chckbxZeile;
private JCheckBox chckbxZeile_1;
private JCheckBox chckbxZeile_2;
private JCheckBox chckbxZeile_3;
private JCheckBox chckbxZeile_4;
private JButton btnUpdate;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TableTestFrame frame = new TableTestFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public TableTestFrame() {
initGUI();
}
private void initGUI() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 792, 259);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
contentPane.add(getScrollPane());
contentPane.add(getPanel());
}
private JScrollPane getScrollPane() {
if (scrollPane == null) {
scrollPane = new JScrollPane();
scrollPane.setBounds(10, 11, 639, 205);
scrollPane.setViewportView(getTable());
}
return scrollPane;
}
private JTable getTable() {
if (table == null) {
table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
{null, null, null, null, null},
},
new String[] {
"1", "2", "3", "4", "5"
}
) {
Class[] columnTypes = new Class[] {
Integer.class, Object.class, Object.class, Object.class, Object.class
};
public Class getColumnClass(int columnIndex) {
return columnTypes[columnIndex];
}
boolean[] columnEditables = new boolean[] {
false, false, false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
table.setSelectionBackground(new Color(152, 251, 152));
}
return table;
}
private JPanel getPanel() {
if (panel == null) {
panel = new JPanel();
panel.setBounds(659, 11, 111, 210);
panel.setLayout(null);
panel.add(getChckbxZeile());
panel.add(getChckbxZeile_1());
panel.add(getChckbxZeile_2());
panel.add(getChckbxZeile_3());
panel.add(getChckbxZeile_4());
panel.add(getBtnUpdate());
}
return panel;
}
private JCheckBox getChckbxZeile() {
if (chckbxZeile == null) {
chckbxZeile = new JCheckBox("Zeile 1");
chckbxZeile.setBounds(6, 7, 97, 23);
}
return chckbxZeile;
}
private JCheckBox getChckbxZeile_1() {
if (chckbxZeile_1 == null) {
chckbxZeile_1 = new JCheckBox("Zeile 2");
chckbxZeile_1.setBounds(6, 33, 97, 23);
}
return chckbxZeile_1;
}
private JCheckBox getChckbxZeile_2() {
if (chckbxZeile_2 == null) {
chckbxZeile_2 = new JCheckBox("Zeile 3");
chckbxZeile_2.setBounds(6, 59, 97, 23);
}
return chckbxZeile_2;
}
private JCheckBox getChckbxZeile_3() {
if (chckbxZeile_3 == null) {
chckbxZeile_3 = new JCheckBox("Zeile 4");
chckbxZeile_3.setBounds(6, 85, 97, 23);
}
return chckbxZeile_3;
}
private JCheckBox getChckbxZeile_4() {
if (chckbxZeile_4 == null) {
chckbxZeile_4 = new JCheckBox("Zeile 5");
chckbxZeile_4.setBounds(6, 111, 97, 23);
}
return chckbxZeile_4;
}
private JButton getBtnUpdate() {
if (btnUpdate == null) {
btnUpdate = new JButton("Update");
btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
markRows();
}
});
btnUpdate.setBounds(6, 158, 91, 23);
}
return btnUpdate;
}
private void markRows() {
//TODO: Hier passiert die Action!
ListSelectionModel selectionModel = table.getSelectionModel();
selectionModel.clearSelection();
if(chckbxZeile.isSelected()){
selectionModel.addSelectionInterval(0, 0);
}
if(chckbxZeile_1.isSelected()){
selectionModel.addSelectionInterval(1, 1);
}
if(chckbxZeile_2.isSelected()){
selectionModel.addSelectionInterval(2, 2);
}
if(chckbxZeile_3.isSelected()){
selectionModel.addSelectionInterval(3, 3);
}
if(chckbxZeile_4.isSelected()){
selectionModel.addSelectionInterval(4, 4);
}
table.setSelectionModel(selectionModel);
}
}