回答
我希望你正在努力實現是這樣的。爲此請使用Box佈局。
package com.kcing.kailas.sample.client;
import javax.swing.BoxLayout;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
public class Testing extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
/**
* This is the default constructor
*/
public Testing() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
JPanel panel = new JPanel();
panel.setBounds(61, 11, 81, 140);
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
jContentPane.add(panel);
JCheckBox c1 = new JCheckBox("Check1");
panel.add(c1);
c1 = new JCheckBox("Check2");
panel.add(c1);
c1 = new JCheckBox("Check3");
panel.add(c1);
c1 = new JCheckBox("Check4");
panel.add(c1);
}
return jContentPane;
}
public static void main(String[] args) throws Exception {
Testing frame = new Testing();
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
}
'UIManager.setLookAndFeel(「com.sun.java.swing.plaf.windows.WindowsLookAndFeel」);'唉..看起來可怕的OS X和* nix,雖然幸運的是它會完全失敗在任一系統上。請參閱['UIManager.getSystemLookAndFeelClassName()'](http://docs.oracle.com/javase/7/docs/api/javax/swing/UIManager.html#getSystemLookAndFeelClassName%28%29)。 –
感謝您的評論安德魯湯普森。我正在刪除這個。 –
...和基本方法(使用BoxLayout)不同於@AbstractChaos在之前的答案中。除了更糟糕:內容面板中的空佈局?手動上漿/定位面板? nononono,不要。 updateComponentTreeUI應該在這裏實現什麼? – kleopatra
正如我在評論中所述,我會使用一個盒子佈局。
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout());
JButton button = new JButton("Button1");
button.setAlignmentX(Component.CENTER_ALIGNMENT);
panel.add(button);
button = new JButton("Button2");
button.setAlignmentX(Component.CENTER_ALIGNMENT);
panel.add(button);
button = new JButton("Button3");
button.setAlignmentX(Component.CENTER_ALIGNMENT);
panel.add(button);
add(panel);
這一個不是編譯 –
我用了一個BoxLayout
,並設置其第二個參數BoxLayout.Y_AXIS
和它的工作對我來說:
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JPanel testPanel = new JPanel();
testPanel.setLayout(new BoxLayout(testPanel, BoxLayout.Y_AXIS));
/*add variables here and add them to testPanel
e,g`enter code here`
testPanel.add(nameLabel);
testPanel.add(textName);
*/
testPanel.setVisible(true);
- 1. 如何使ListBox控件顯示添加項目垂直而不是水平?
- 2. 垂直不水平的砌體佈局
- 3. 混合垂直和水平佈局(水平佈局類圖)
- 4. XtraTabbedMdiManager佈局(平鋪垂直,水平平鋪,平鋪水平)
- 5. 如何使垂直而不是水平垂直溢出?
- 6. android佈局垂直/水平權重
- 7. SQL結果水平而不是垂直
- 8. presentModalViewController水平而不是垂直
- 9. cbind,垂直而不是水平
- 10. 水平的形式,而不是垂直
- 11. 垂直分佈而不是水平分佈的暴露表單
- 12. PySide/QT - 如何將水平或垂直佈局添加到網格佈局
- 13. 網格佈局只會增加元素垂直,水平不
- 14. 在中間流體佈局中垂直顯示水平列表
- 15. 我們可以使水平流動列而不是垂直流動嗎?
- 16. 水平佈局中的嵌套垂直佈局
- 17. JList - 使用垂直滾動條而不是水平垂直摺疊方向?
- 18. 什麼是垂直和水平分佈?
- 19. 我怎樣才能使Leaflet控件水平放置而不是垂直放置?
- 20. 添加水平scrollView垂直滾動uicollectionView
- 21. 垂直流動佈局
- 22. 智能垂直流佈局
- 23. 不能使框水平滾動而不是垂直
- 24. android在一個文件中的水平和垂直佈局
- 25. 兩種不同的佈局(垂直和水平)?
- 26. 使自舉列垂直取向的而不是水平
- 27. 使div內容水平滾動而不是垂直滾動
- 28. 卡布奇諾的垂直和水平佈局
- 29. 如何在垂直佈局中水平佈置物品?
- 30. 在c#winforms控件中水平和垂直對齊動態添加控件
的FlowLayout是做什麼暗示,流動組件從左到右,直到它有沒有空間然後繼續下一行,使用不同的佈局,你可以做你需要的。 – AbstractChaos
我應該使用什麼佈局 – adesh
我會建議一個[BoxLayout](http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html) – AbstractChaos