標籤:south location user his 父類 port ati button graphic
在Java學習的過程中,我們時常會因為控制台程式的枯燥而失去了學習Java的樂趣,那麼今天我們就開始學習Java的Swing。也就是GUI(Graphical user interface),在應用到GUI時,你就可以體會到編程的樂趣。
下面我就以我編寫的一個程式結果為例,向大家闡述一下,在Java中如何建立視窗以及容器中組件的布局。程式運行結果如下:
首先從圖片本身開始分析:我們可以看到一個視窗,在視窗上面有這麼五個按鈕,然後五個按鈕分部在這個表單的邊界。於是有了邊界布局。從程式上面我們也是運用這樣的邏輯實現的。建立視窗運用到java.awt.Frame類
代碼如下:
//調用父類的一個構造方法,建立一個標題為“邊界布局”的視窗super("邊界布局");//設定視窗的大小,以像素為單位this.setSize(200,300);//設定視窗的起始位置(左上方座標)this.setLocation(100,100);//設定視窗關閉時的預設操作this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
然後是建立按鈕
//執行個體化面板對象 p = new JPanel();//建立一個邊界布局管理器對象,並把布局設定到面板中 p.setLayout(new BorderLayout()); b1 = new JButton("Button 東"); b2 = new JButton("Button 西"); b3 = new JButton("Button 南"); b4 = new JButton("Button 北"); b5 = new JButton("Button 中");
最後是將按鈕加入到面板中,並設定布局方式
1 p.add(b1,BorderLayout.EAST);2 p.add(b2,BorderLayout.WEST);3 p.add(b3,BorderLayout.SOUTH);4 p.add(b4,BorderLayout.NORTH);5 p.add(b5,BorderLayout.CENTER);
其中包含的類是java.awt.BorderLayout;主要的代碼就是這些。
完整的代碼如下:
1 package com.example; 2 import java.awt.BorderLayout; 3 import javax.swing.*; 4 5 6 public class BorderLayoutDemo extends JFrame{ 7 private JPanel p; 8 private JButton b1,b2,b3,b4,b5; 9 public BorderLayoutDemo(){10 super("邊界布局");11 p = new JPanel();12 //建立一個邊界布局管理器對象,並把布局設定到面板中13 p.setLayout(new BorderLayout());14 b1 = new JButton("Button 東");15 b2 = new JButton("Button 西");16 b3 = new JButton("Button 南");17 b4 = new JButton("Button 北");18 b5 = new JButton("Button 中");19 20 p.add(b1,BorderLayout.EAST);21 p.add(b2,BorderLayout.WEST);22 p.add(b3,BorderLayout.SOUTH);23 p.add(b4,BorderLayout.NORTH);24 p.add(b5,BorderLayout.CENTER);25 26 this.add(p);27 this.setSize(1000,1000);28 this.setLocation(100,100);29 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);30 }31 public static void main(String[]args){32 BorderLayoutDemo f = new BorderLayoutDemo();33 f.setVisible(true);34 }35 }
Java Swing學習