gpt4 book ai didi

java - 从另一个 JPanel 类更改 JFrames 面板

转载 作者:行者123 更新时间:2023-12-01 16:55:03 24 4
gpt4 key购买 nike

所以我在我的主类中得到了这个:

public class Main extends JFrame {

public static void main(String[] args) {
JFrame Launch = new JFrame();
Launch.setSize(800, 400);
Launch.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Launch.setContentPane(new StartView());
Launch.setTitle("De Hartige Hap");
Launch.setVisible(true);
}
}

现在假设我在该面板中(“StartView()”)

按钮上的

onClick,我想更改框架的内容 Pane ..

我该怎么做?

public class StartView extends javax.swing.JPanel {
public StartView() {
initComponents();
}



private void OrderButtonActionPerformed(java.awt.event.ActionEvent evt) {
/*instead of Launch.setContentPane(new StartView());
*it has to be (new otherView())
*/
}

最佳答案

将 Launch 对象传递给面板对象(即 new StartView(launch))。这样,您可以在 Launch 中创建一个方法 changeView() ,并且您可以从面板中调用此方法 (launch.changeView()),您可以在其中更改 View 那个方法。

此外,如果我可以建议您,请看一下 ModelViewController 模式。这可以确保您将 View (您的面板)和 Controller (您的框架)分开,这样您就不会遇到这样的问题。

关于java - 从另一个 JPanel 类更改 JFrames 面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34262422/

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