2015-12-01 78 views
0

的下一行我有了一個JLabel和一個按鈕旁邊的盒子佈局,因爲這樣的:添加標籤到的BoxLayout

JFrame frame = new JFrame(); 
    JPanel panel = new JPanel(); 

    panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS)); 
    panel.add(new JLabel("Reference ")); 
    panel.add(new JButton("HI")); 

    frame.add(panel); 
    frame.setSize(500,300); 
    frame.setVisible(true);  

這個正確呈現旁邊的標籤稱爲參考和一個按鈕到它。但是如果我想在它下面展示同樣的東西(一個新標籤和另一個按鈕),我該怎麼做?

因爲簡單地創建另一個面板,並模擬我之前做了什麼,似乎不起作用。

JPanel newPanel = new JPanel(); 
newPanel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS)); 

或在新標籤中使用HTML像

JLabel s = new JLabel("<html> <br>newLaberl </html>"); 

添加此到面板仍然會打印在同一行,該按鈕後,不是未來,任何想法?

回答

2

你只需要設置JFrame的佈局就可以按照你說的方式工作。 我用你的例子設置框架佈局使用GridLayout

JFrame frame = new JFrame(); 
    JPanel panel = new JPanel(); 
    JPanel panel2 = new JPanel(); 

    frame.setLayout(new GridLayout(2,1)); 
    panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS)); 
    panel.add(new JLabel("Reference ")); 
    panel.add(new JButton("HI")); 

    panel2.setLayout(new BoxLayout(panel2,BoxLayout.X_AXIS)); 
    panel2.add(new JLabel("Reference2 ")); 
    panel2.add(new JButton("HI2")); 

    frame.add(panel); 
    frame.add(panel2); 
    frame.setSize(500,300); 
    frame.setVisible(true);