不同JPanels的不同类

时间:2014-11-27 21:06:15

标签: java class jpanel

我是Java的初学者。我已经到处寻找我的问题的答案,但找不到任何答案,或者在我的Java知识的这个阶段,它们对我来说很复杂。

计划做的是在我学习的过程中创建一个程序,这将是相当多的代码,并希望保持井井有条。

我有一个我要存储mainPanel的类,然后我想添加存储在其他类中的其他JPanels(点击按钮(不是使用cardLayout))。

我的代码可能充满了错误,希望你能帮助我。

这是我的主要课程:

import javax.swing.JFrame;

public class TestTool {
    public static void main(String[] args){

        Test1 frame = new Test1();

        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }
}

然后我有另一个类,我想存储mainPanel并加载来自不同类的其他面板:

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test1 extends JFrame {

    public Test1(){
        testPanel();
    }

    public void testPanel(){
        setTitle("Test Tool");

        TestPanel1 te = new TestPanel1();

        JPanel mainPanel = new JPanel();
        mainPanel.add(te.pan());

    }
}

在下一节课中,我有一个不同的面板,然后我尝试加载到主面板中:

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class TestPanel1 {

    private JPanel panel1;

    public TestPanel1(){

        JPanel panel1 = new JPanel();
        JLabel label1 = new JLabel("panel 1");
        panel1.add(label1);
        JButton button1 = new JButton("button 1");
        panel1.add(button1);

    }

    public JPanel pan(){

        return panel1;

    }

}

无论如何我能这样做吗?或者我完全错了吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我建议让TestPanel类扩展JPanel类,并在构造函数中调用superconstructor,然后执行你需要的操作。