0
Wie kann ich eine JTable zu einem JPanel hinzufügen, nachdem der Benutzer auf eine Schaltfläche geklickt hat? Das JLabel wird dem JPanel hinzugefügt, nachdem auf die Schaltfläche geklickt wurde, nicht jedoch die JTable.Wie kann ich eine JTable zu einem JPanel hinzufügen, nachdem ich auf eine Schaltfläche geklickt habe?
@Override
public void actionPerformed(ActionEvent e) {
ResultSet resultSet = query.getStudentDetails(operateOnSelectedStudent());
JTable table = null;
try {
while (resultSet.next()) {
try {
table = new JTable(buildTableModel(resultSet));
panel.add(table, BorderLayout.SOUTH);
panel.add(new JLabel("HELLO"));
panel.revalidate();
JOptionPane.showMessageDialog(null, new JScrollPane(table));
JScrollPane tableContainer = new JScrollPane(table);
panel.add(tableContainer, BorderLayout.CENTER);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
Der Code sollte revalidate() dann repaint() werden. Revalidate() ruft den Layout-Manager auf, so dass die Komponenten die richtige Größe und Position haben können. Normalerweise wird das Panel sich selbst neu streichen, aber das Repaint() wird nur hinzugefügt, um sicherzustellen, dass das Panel sich selbst überstreicht. – camickr
@camickr Ich werde die notwendige Änderung vornehmen. Vielen Dank – KMuir