0
ユーザーがボタンをクリックした後にJPanelにJTableを追加する方法はありますか? JLabelは、ボタンがクリックされた後にJPanelに追加されますが、JTableでは追加されません。ボタンをクリックした後、どのようにJPanelにJTableを追加できますか?
@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();
}
}
コードはrevalidate()、次にrepaint()する必要があります。 revalidate()はレイアウトマネージャを呼び出し、コンポーネントが適切なサイズと場所を持つようにします。通常、パネルはそれ自身を再描画しますが、パネルが再描画されるようにrepaint()が追加されます。 – camickr
@camickr必要な変更を行います。ありがとうございました – KMuir