我使用GridBagConstraints更新布局,单击按钮后,将出现一些输入字段。
private class EventListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
input_panel.removeAll();
String str = e.getActionCommand();
System.out.print(str);
JLabel jl = new JLabel("Label ");
// Create constraints
GridBagConstraints textFieldConstraints = new GridBagConstraints();
GridBagConstraints labelConstraints = new GridBagConstraints();
labelConstraints.gridx = 0;
labelConstraints.gridy = 0;
input_panel.add(jl,textFieldConstraints);
}
}
此函数成功运行,但是,存在一个奇怪的问题,当我单击按钮时,它会更新,但不会立即显示,我必须调整窗口大小才能看到它。怎么了?
最佳答案
input_panel.add(jl,textFieldConstraints);
input_panel.revalidate(); //try to add this
input_panel.repaint(); // and this