2013-05-01 46 views
2

所以目前我的程序只顯示GUI右下角的一個按鈕。但是我想在右下角顯示兩個按鈕。任何想法如何設置兩個按鈕到右側角落?這是我到目前爲止的代碼:如何對齊兩個JButtons是否對齊?

import javax.swing.*; 

import java.awt.*; 

public class Other extends JFrame{ 
     private static final long serialVersionUID = 1L; 
     public Other() { 
      super("Buttons"); 
      final Container mainPanel = getContentPane(); 
      mainPanel.setLayout(new BorderLayout()); 
      JPanel buttonPanel = new JPanel(); 
      buttonPanel.setLayout(new BorderLayout()); 
      JPanel inputPanel = new JPanel(); 
      inputPanel.add(new JLabel("RANDOM TEXT HERE")); 
      inputPanel.add(new JLabel("RANDOM TEXT HERE")); 
      inputPanel.add(new JLabel("RANDOM TEXT HERE")); 
      JButton s = new JButton("first"); 
      JButton l = new JButton("second"); 
      buttonPanel.add(s,BorderLayout.LINE_END); 
      buttonPanel.add(l,BorderLayout.LINE_END); //<-- not working 
      mainPanel.add(inputPanel,BorderLayout.PAGE_START); 
      mainPanel.add(buttonPanel,BorderLayout.PAGE_END); 
      pack(); 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setLocationRelativeTo(null); 
      setVisible(true); 
     } 
    public static void main(String[] args){ 
     Other o = new Other(); 
    } 
} 
+0

你這是怎麼可以做到這一點:http://stackoverflow.com/questions/5379512/aligning-jbuttons – 2013-05-01 17:23:51

+0

BorderLayout可能不是你想要做的正確的佈局管理器。 Oracle在選擇正確的佈局管理器方面有很好的教程,或者您可以在像NetBeans這樣的IDE中使用GUI構建器。這裏是turpial:http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html – Andrew 2013-05-01 17:20:30

回答

6

enter image description here

buttonPanel.setLayout(new FlowLayout(FlowLayout.TRAILING)); 

雖然BorderLayout將只接受每佈局區域一個組成部分,FlowLayout將顯示多達相加(可視範圍內)。

+0

謝謝我也想到了一個解決方案,我可以剛剛擺脫buttonPanel的佈局,然後只需將buttonPanel添加到帶有BorderLayout.LINE_END的mainPanel – user1775500 2013-05-01 17:19:03