如何将3个独立的程序放入JTabbedPane中。它们已经为JFrame编写

时间:2012-11-22 17:44:44

标签: java swing jframe jtabbedpane

因此,为了保持简单,我想说我希望在JTabbedPane中显示3个单独的程序。假设它们都是JFrame中的Hello World简单文件。

让我们使用这个简单的文件并创建HelloWorld1.javaHelloWorld2.javaHelloWorld3.java。它们以这种方式单独存在。但是说我想将它们合并为一个JTabbedPane - 仍然将它们分开。我猜我需要创建一个项目(比如在Eclipse中)并在第四个文件中设置JTabbedPane并添加这些项目?有人可以给我一个演示,这样我就可以更清楚地了解如何解决这个问题。感谢任何帮助。只是真正感兴趣的是主(前)文件的样子。

2 个答案:

答案 0 :(得分:4)

public static void main(String[] args) {
    JFrame child = new HelloWorld1("child1");
    child.add(new JLabel("Child1"));

    JTabbedPane jTabbedPane = new JTabbedPane();
    jabbedPane.addTab("Child", child.getContentPane());

    child = new HelloWorld2("child2");
    jabbedPane.addTab("Child2", child.getContentPane());
    //and so on with other applications/frames

    JFrame main = new JFrame("Main");
    main.setSize(600,600);
    main.add(jTabbedPane);      
    main.setVisible(true);
}

答案 1 :(得分:2)

解决方案非常简单:

1)而不是说public class HelloWorld1 extends JFrame{....}使用public class HelloWorld1 extends JPanel{...}

2)在主要课程(HellowWorld1HellowWorld2HellowWorld3)中实例化您的课程,并将其添加到JTabbedPane,如下所示:

HelloWorld1 hw = new HelloWorld1();
....
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.add("Title of first panel",hw);