メソッドを 1 回実行するaddComponents()
と、目的の JPanel のレイアウトが得られます。ただし、 のコードaddComponents()
が複数回実行されると、JPanel のレイアウトが完全に間違っています。私が間違っていると思われることはありますか?
public class DeleteStudent extends JPanel {
public SearchPanel search = new SearchPanel();
private final JButton deleteButton = new JButton("Delete from database");
private GridBagConstraints cons = new GridBagConstraints();
private final GridBagLayout gridBag = new GridBagLayout();
public DeleteStudent() {
super();
setLayout(gridBag);
setPreferredSize(new Dimension(400, 300));
addComponents();
addComponents(); //Method fails when run more than once!
}
public void addComponents() {
cons.gridy = 1;
cons.insets = new Insets(50, 0, 0, 0);
gridBag.setConstraints(deleteButton, cons);
removeAll();
add(search);
add(deleteButton);
update();
}
private void update() {
revalidate();
repaint();
}
スクリーンショット:
1 つのメソッド呼び出し後の JPanel: http://img402.imageshack.us/img402/6409/oncer.png
2 つのメソッド呼び出し後の JPanel: http://imageshack.us/scaled/landing/254/twiced.png