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

标签 java oop user-interface

我对 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/

相关文章:

c++ - 如何使用样式表删除 QWizard 中的水平线?

oop - golang - 树结构抽象

Java:查找用户设置的多个整数列表中的最大数字

java - 安卓存储建议?

java - Android fragment oncreateview 被调用,但 View 未膨胀并且没有错误

Java:在同一个包中有循环依赖是不好的做法吗?

perl - 这是 Moose Perl 的一个很好的替代品吗?

user-interface - 多按钮 GUI VBScript

iphone - 如何制作任何 View 的圆形

java - 停止请求焦点的 jframe