一个简单的Java GUI界面

时间:2013-05-01 10:51:28

标签: java swing jframe border-layout

为Java的简单GUI界面做一些自学。试图编写一个简单的界面。以下是代码:

public void MainPanel() {

    JFrame frame = new JFrame();
    frame.setTitle("Title");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JTabbedPane mpt = new JTabbedPane();

    mpt.addTab("Intro", new IntroPanel());
    mpt.addTab("Catalogue", new CataloguePanel());
    mpt.addTab("Order", new OrderPanel());
    mpt.addTab("Track", new TrackPanel());

    JPanel main = new JPanel();
    main.setBackground(Color.white);

    JLabel label1 = new JLabel("Intro");

    main.add(label1);
    frame.add(main);
    frame.add(mpt);       
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
}

我目前面临的问题是:如果我将frame.add(main)放在frame.add(mpt)的前面,则只会显示标签,但会显示标签介绍。如果我将frame.add(mpt)放在frame.add(main)的前方。将显示简介,但不会显示标签。

为什么会这样?他们为什么互相重叠?我的做法与某些教程相同,但无济于事。

1 个答案:

答案 0 :(得分:4)

尝试给它一些其他布局。

例如。 frame.setLayout(new FlowLayout());

的信息:

根据Java命名约定,您的方法名称应该类似于public void mainPanel()