2013-05-01 47 views
0

爲Java的簡單GUI界面做了一些自學。試圖編寫一個簡單的界面。這是下面的代碼:用於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(mpt)frame.add(main)盈,只有選項卡將出現,但標籤介紹。如果我把frame.add(mpt)面前frame.add(main)。介紹將顯示,但不是標籤。

這是怎麼發生的?他們爲什麼互相重疊?我做了一些教程,但沒有成功。

+0

請分配一些高度,你的選項卡窗格和JPanel的,這些都得到100%的高度bydefault,並互相重疊,以便測試您可以爲它們分配一個自定義高度,或者您可以使用JGrid來排列組件。 – 2013-05-01 10:57:52

+0

我會盡快做到這一點 – John 2013-05-01 11:01:34

回答

4

嘗試給它一些其他佈局。

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

信息:

根據Java命名約定的方法的名稱應該是這樣public void mainPanel()

+0

我做了frame.setLayout(new FlowLayout());佈局非常難看。我想在頂部有標籤,然後是下面的措辭和信息。我怎麼能達到 – John 2013-05-01 11:01:08

+0

,爲什麼我不能瀏覽我的標籤? – John 2013-05-01 11:01:53

+0

@John閱讀Oracle教程如何使用BorderLayout,因爲JFrame在API – mKorbel 2013-05-01 11:06:33