问题描述
我的代码有奇怪的问题。我之前遇到了同样的问题,所以我从头开始做这个项目,但是同样的问题再次发生。
我将面板设置为不可见,但是我不知道为什么不调整应用程序大小就无法显示新面板。
Main.java:https://pastebin.com/SPt5bqpF
UI.java:https://pastebin.com/HawM8CTd
Variables.java:https://pastebin.com/QvPPALkU
public void classAttitudes(){
variables.classesTitleLabel.setVisible(false);
variables.classesTitlePanel.setVisible(false);
variables.continueClasspanel.setVisible(false);
variables.titleAttitudePanel = new JPanel();
variables.titleAttitudePanel.setBounds(50,50,100,100);
variables.con.add(variables.titleAttitudePanel);
}
解决方法
public void classAttitudes() {
variables.classesTitleLabel.setVisible(false);
variables.classesTitlePanel.setVisible(false);
variables.continueClassPanel.setVisible(false);
variables.titleAttitudePanel = new JPanel();
variables.titleAttitudePanel.setBounds(50,50,100,100);
variables.con.add(variables.titleAttitudePanel);
// ADD MANUAL REPAINT TO THE FRAME !!!
variables.window.repaint();
}
PS 调整manin窗口的大小(即JFrame
)时,将引发一个动作,并在该动作结束时调用repaint()
以重画此框架UI线程中的所有内容(我不记得它的名称)