對齊如何對齊這些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);
請幫我
對齊如何對齊這些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);
請幫我
如何先閱讀Laying Out Components Within a Container教程?我濫用這一說法,但,總有不止一種方法來皮膚貓
下面是一個使用上JComponent
實例BoxLayout
和setAlignmentX(...)
一個多餘的例子 -
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);
}
}
}
我會推薦使用boxlayout管理器。在沒有IDE的幫助下使用佈局管理器需要一些時間和練習。更多信息可以在這裏找到:http://download.oracle.com/javase/tutorial/uiswing/layout/box.html
檢查SpringLayout如果它符合您的需求。如果不是,可能GridBagLayout會做。
下面是使用SpringLayout進行簡單形式佈局的example。
如果一切都失敗了,你可以嘗試:http://code.google.com/intl/nl-NL/javadevtools/wbpro/layoutmanagers/swing/index.html
我是窗口建設者很深刻的印象,它會產生非常乾淨的代碼,很容易集成到Eclipse中。
*「l1 .. c1」* Gee。你可能模糊了嗎?是我的標籤,C的組合,還是B的按鈕?也可以畫一些ASCII藝術或圖像來顯示預期的佈局。表格可以通過很多不同的方式進行佈局。我懷疑嵌套佈局或「GroupLayout」會是最好的,但我不會在沒有更多信息的情況下查看它。 –