Hallo Marco,
hier mal kleines Beispiel wie man Zeilen hinzufügen und löschen kann. Je nach wie das JTable aufgebaut wurde könnte die Lösung anders aussehen. Hab hier mal ein DefaultTableModel verwendet.
Vg Erdal
hier mal kleines Beispiel wie man Zeilen hinzufügen und löschen kann. Je nach wie das JTable aufgebaut wurde könnte die Lösung anders aussehen. Hab hier mal ein DefaultTableModel verwendet.
Java:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class TableUpdateExample extends JFrame implements ActionListener {
private DefaultTableModel dtm = new DefaultTableModel(3,2);
private JTable table = new JTable(dtm);
private JPanel p = new JPanel();
private JTextField t1 = new JTextField();
private JTextField t2 = new JTextField();
private JButton b1 = new JButton("Füge neue Zeile ein");
private JButton b2 = new JButton("Lösche markierte Zeile");
public TableUpdateExample() {
super("TableExample");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setAlwaysOnTop(true);
this.setLocationByPlatform(true);
p.setLayout(new GridLayout(3, 2));
p.add(new JLabel("Name:"));
p.add(t1);
p.add(new JLabel("Tel. Nr:"));
p.add(t2);
p.add(b1);
p.add(b2);
createTable();
this.add(p, BorderLayout.NORTH);
this.add(new JScrollPane(table), BorderLayout.CENTER);
this.pack();
this.setVisible(true);
b1.addActionListener(this);
b2.addActionListener(this);
}
public static void main(String[] args) {
new TableUpdateExample();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1)
updateTable();
else
deleteRow();
}
public void updateTable() {
if (t1.getText() != null && t1.getText().length() > 0
&& t2.getText() != null && t2.getText().length() > 0) {
dtm.addRow(new String[] { t1.getText(), t2.getText() });
dtm.fireTableDataChanged();
dtm.fireTableStructureChanged();
t1.setText("");
t2.setText("");
}
}
public void deleteRow() {
if (table.getSelectedRow() != -1) {
dtm.removeRow(table.getSelectedRow());
dtm.fireTableDataChanged();
dtm.fireTableStructureChanged();
}
}
public void createTable() {
dtm.setValueAt("Hans",0,0);
dtm.setValueAt("12345",0,1);
dtm.setValueAt("Peter",1,0);
dtm.setValueAt("67890",1,1);
dtm.setValueAt("Klaus",2,0);
dtm.setValueAt("10293",2,1);
}
}
Vg Erdal