gpt4 book ai didi

java - Swing:调用 setContentPane 时不刷新界面

转载 作者:行者123 更新时间:2023-11-29 08:16:33 25 4
gpt4 key购买 nike

我的小程序有问题:它没有在我需要时刷新。

我试图在单击按钮时从一个界面屏幕切换到另一个界面屏幕。

我有一个

public class PixelRainEditorApp extends JApplet

并在初始化中

SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
createGUI();
}
});
private void createGUI() {
a = new A(this);
this.setSize(800, 480);
}

然后我有两个扩展 JPanel 的类 A 和 B

public A(JApplet parent) {
super(parent);
setOpaque(true);
setBackground(Color.BLACK);
this.parent.setContentPane(this);
}

当我点击 View A 中的按钮时

@Override
public void actionPerformed(ActionEvent e) {
if(TAG.equalsIgnoreCase(e.getActionCommand())){
new B(this.baseParent);
}
}

B与A相同,但图像不同

public B(JApplet parent) {
super(parent);
setOpaque(true);
setBackground(Color.BLACK);
this.parent.setContentPane(this);
}

现在,当我想显示 A 时它工作正常,但是当我想在单击 A 中的按钮时启动 B 时,没有任何反应。只有当我调整 B 出现的窗口大小时......我试图使我的应用程序中的各个位置无效或重绘,但没有任何反应

有什么想法吗?

杰森

最佳答案

只需添加this.parent.revalidate();this.parent.repaint();在通话结束时。

关于java - Swing:调用 setContentPane 时不刷新界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4427024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com