【发布时间】:2013-10-22 15:58:57
【问题描述】:
我不确定这是否可能,但我试图做的是动态调整容器的大小。所以当用户点击登录时,容器会调整大小以显示新的按钮和面板。
目前我的代码看起来像这样
容器代码
c = getContentPane();
c.add(panel); //panel contains login panel, user panel and system panel
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setSize(400, 200); //width, height
setLocation(600,0);
setResizable(false);
validate();
动作监听器
loginButton.setText("Login");
loginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
c.setSize(400,630);
c.validate();
userScrollPane.setVisible(true);
sysScrollPane.setVisible(true);
resultsButtonPanel.setVisible(true);
loginButton.setEnabled(false);
resetButton.setEnabled(true);
resultsButton.setEnabled(true);
tfUser.setEditable(false);
tfPass.setEditable(false);
mb.setVisible(true);
}
});
【问题讨论】:
-
尝试删除
c.validate()并在末尾添加c.invalidate()。 -
@DavidConrad 欢呼,不过没用 :(
标签: java swing containers