gpt4 book ai didi

java - 如何在主类中将面板类添加到我的框架中

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:06 25 4
gpt4 key购买 nike

我对 oo 相当陌生,我创建了一个类,它是我程序的大部分界面,我将它们全部放在一个类中。然后我想将我的面板类添加到我的主类中,以便我的面板附加到我的框架:

这是我尝试过的,当我运行程序但面板未显示时,我没有收到任何错误:

面板类别:

  public class PanelDriver extends JPanel {
public JPanel p1, myg;
public PanelDriver() {

JPanel p1 = new JPanel();
p1.setBackground(Color.CYAN);

// Graphicsa myg = new Graphicsa();


JTextArea txt = new JTextArea(5,20);
txt.setText("test");
p1.add(txt);

}
}

主类:

public class GraphicMain {

public static void main(String[] args) {
JFrame frame = new JFrame("My Program");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 600);

PanelDriver panels = new PanelDriver();
frame.getContentPane().add(panels);

GridLayout layout = new GridLayout(1,2);
}

最佳答案

您需要一个 super 调用(因为您扩展了 JPanel,因此不需要创建一个新的调用)和 Panel 类中的布局,如下所示:

public class CustomerTest extends JPanel {

public CustomerTest() {
super();
this.setBackground(Color.CYAN);
this.setLayout(new BorderLayout());
JTextArea txt = new JTextArea();
txt.setText("test");
this.add(txt);
this.setVisible(true);

}
}

然后在您的主类中使用它来设置框架可见并显示内容。创建框架后,您必须设置框架的布局:

    JFrame frame = new JFrame("My Program");
GridLayout layout = new GridLayout(1, 2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 600);

CustomerTest panels = new CustomerTest();
frame.getContentPane().setLayout(layout);;
frame.add(panels);
frame.setVisible(true);

关于java - 如何在主类中将面板类添加到我的框架中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41181130/

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