为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)
的前方。将显示简介,但不会显示标签。
为什么会这样?他们为什么互相重叠?我的做法与某些教程相同,但无济于事。
答案 0 :(得分:4)
尝试给它一些其他布局。
例如。 frame.setLayout(new FlowLayout());
的信息:
根据Java命名约定,您的方法名称应该类似于public void mainPanel()