我对 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);
我是一名优秀的程序员,十分优秀!