2011-08-09 117 views
4

對齊如何對齊這些JComponents像在內容窗格中的中心形式......使用Swing的搖擺JComponents狀

 panel1.add(l1); 
     panel1.add(c1); 
     panel1.add(l2); 
     panel1.add(c2); 
     panel1.add(b4); 
     panel1.add(b5); 
     frame1.getContentPane().add(panel1); 

請幫我

+0

*「l1 .. c1」* Gee。你可能模糊了嗎?是我的標籤,C的組合,還是B的按鈕?也可以畫一些ASCII藝術或圖像來顯示預期的佈局。表格可以通過很多不同的方式進行佈局。我懷疑嵌套佈局或「GroupLayout」會是最好的,但我不會在沒有更多信息的情況下查看它。 –

回答

6

如何先閱讀Laying Out Components Within a Container教程?我濫用這一說法,但,總有不止一種方法來皮膚貓


下面是一個使用上JComponent實例BoxLayoutsetAlignmentX(...)一個多餘的例子 -

public final class StackComponentsDemo { 
    public static void main(String[] args){ 
     SwingUtilities.invokeLater(new Runnable(){ 
      @Override 
      public void run() { 
       createAndShowGUI();    
      } 
     }); 
    } 

    private static void createAndShowGUI(){ 
     final JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     final JPanel panel = new JPanel(); 
     panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); 

     panel.add(new DisabledJButton()); 
     panel.add(new DisabledJButton()); 
     panel.add(new DisabledJButton()); 
     panel.add(new DisabledJButton()); 
     panel.add(new DisabledJButton()); 

     frame.add(panel); 
     frame.pack(); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 
    } 

    private static final class DisabledJButton extends JButton{ 
     public DisabledJButton(){ 
      super("Disabled"); 
      setEnabled(false); 
      setAlignmentX(Component.CENTER_ALIGNMENT); 
     } 
    } 
} 

enter image description here

+1

永遠在那裏,非常快速+1 – MByD

+2

對於'BoxLayout'爲+1的示例。另請參閱此[答案](http://stackoverflow.com/questions/3174765/variable-layout-in-swing/3175280#3175280),其中添加了標籤。 – trashgod