java实用教程——组件及事件处理——布局管理(五种)
生活随笔
收集整理的這篇文章主要介紹了
java实用教程——组件及事件处理——布局管理(五种)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.流式布局FlowLayout
public void pack()調(diào)整此窗口的大小,以適合其子組件的首選大小和布局。如果該窗口或其所有者仍不可顯示,則兩者在計算首選大小之前變得可顯示。在計算首選大小之后,將會驗(yàn)證該Window。窗口自動適應(yīng)大小,使窗口能正好顯示里面所有的控件。
import java.awt.*;public class FlowLayoutDemo {public static void main(String[] args) {Frame frame = new Frame("這里測試FlowLayout");//1.通過setLayout方法設(shè)置容器的布局管理器// frame.setLayout(new FlowLayout(FlowLayout.LEFT,20,20));//frame.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));frame.setLayout(new FlowLayout(FlowLayout.RIGHT,40,20));//2.添加多個按鈕到frame中for (int i = 1; i <= 100; i++) {frame.add(new Button("按鈕"+i));}//3.設(shè)置最佳大小,pack方法 大小適中frame.pack();frame.setVisible(true);}}右對齊:
居中對齊:
左對齊:
2.邊界布局BorderLayout
當(dāng)改變使用 BorderLayout 的容器大小時, NORTH 、 SOUTH 和 CENTER區(qū)域水平調(diào)整,而 EAST 、 WEST 和 CENTER 區(qū)域垂直調(diào)整。使用BorderLayout 有如下兩個注意點(diǎn):
1. 當(dāng)向使用 BorderLayout 布局管理器的容器中添加組件時 , 需要指定要添加到哪個區(qū)域中 。 如果沒有指定添加到哪個區(qū)域中,則默認(rèn)添加到中間區(qū)域中,其他區(qū)域空出的話,也會被中間區(qū)域占用;
2. 如果向同一個區(qū)域中添加多個組件時 , 后放入的組件會覆蓋先放入的組件
3.網(wǎng)格布局GridLayout
import javax.swing.JFrame; import java.awt.*; import javax.swing.*;public class GridLayoutDemo extends JFrame{public static void main(String []args){GridLayoutDemo win = new GridLayoutDemo();}public GridLayoutDemo(){//1.創(chuàng)建對象,并且標(biāo)題設(shè)置為計算器this.setTitle("這是一個計算器的界面");this.setBounds(100,200,500,500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);init();}public void init(){//2.創(chuàng)建一個Panel對象,并且往Panel中放置一個TextField組件JPanel p1 = new JPanel();p1.add(new JTextField(30));//3.把上述的Panel放入到窗口的北側(cè)區(qū)域this.add(p1,BorderLayout.NORTH);//4.創(chuàng)建一個Panel對象,并且設(shè)置其布局管理器為GridLayoutJPanel p2 = new JPanel();p2.setLayout(new GridLayout(3,5,4,4));//5.往上述Panel中,放置15個按鈕,內(nèi)容依次是:0,1,2,3,4,5,6,7,8,9,+,-,*,/,.for (int i = 0; i < 10; i++) {p2.add(new Button(i+""));}p2.add(new Button("+"));p2.add(new Button("-"));p2.add(new Button("*"));p2.add(new Button("/"));p2.add(new Button("."));//6.把上述Panel添加到Frame的中間區(qū)域中國this.add(p2);//7.設(shè)置Frame為最佳大小this.pack();//8.設(shè)置Frame可見this.setVisible(true);}}
4.卡片布局CardLayout
5.BoxLayout盒式布局
import javax.swing.JFrame; import javax.swing.*; import java.awt.*;public class BoxLayoutDemo extends JFrame{public static void main(String []args){BoxLayoutDemo boxLayout = new BoxLayoutDemo();}public BoxLayoutDemo(){init();this.setTitle("BoxLayout盒式容器");this.setBounds(200,200,500,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void init(){JPanel panel = new JPanel();panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));//panel.setLayout(new BoxLayout(panel,BoxLayout.X_AXIS));JButton button1 = new JButton("按鈕1");JButton button2 = new JButton("按鈕2");panel.add(button1);panel.add(button2);this.pack();this.add(panel);} }
總結(jié)
以上是生活随笔為你收集整理的java实用教程——组件及事件处理——布局管理(五种)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实用教程——组件及事件处理——设
- 下一篇: 舌头发黄是什么原因