回覆列表
-
1 # 使用者8715048457692
-
2 # 使用者6296112921490
FlowLayout也就是流式佈局是會自適應的,從左到右,一行容納不了則折行渲染。如果你縮放視窗就會看到效果。如果你把視窗尺寸和空間尺寸都固定寫死,倒是可以精確到你說的2個然後再新增其他控制元件。佈局的出現正是為了解決固定寫死尺寸大小而實現的。可以參考:
SWING FlowLayout Class
Flowlayout佈局是流佈局,意思就是說從左上角開始新增原件,一次往後排,第一行擠滿了就換一行接著排。也就是說,無法手動控制換行,流佈局提供一些幾種流排布方式:FlowLayout.LEFT:左對齊FlowLayout.RIGHT :右對齊FlowLayout.CENTER :居中FlowLayout.LEADING :父容器依賴左對齊FlowLayout.TRAILING:父容器依賴右對齊使用方法為:FloatLayout layout = new FlowLayout(佈局方式, 水平間距, 垂直間距) ;或layout.setAlignment(FlowLayout.xxxx);每一種你都試試吧。使用setBounds()可以直接把元件放到容器的指定位置上。但是要求容器為空佈局,換句話說,你直接:JPanel p = new JPanel();JFrame f = new JFrame();f.add(p);JButton b = new JButton("Button");b.setBounds(起點橫座標,起點縱座標,元件寬,元件高);p.add(b);就ok了!