在設計GUI的程式時
首要的工作就是排版
JAVA有許多的排版樣式
在此我們使用的是 GridBagLayout
特點是排版的樣式就像是棋盤格子一樣
首先我們要先對排版樣式做一些設定
於程式開始時宣告框架
private JFrame frame;
並在建構子的地方建立框架
frame = new JFrame();
主程式的部分設定框架的屬性
frame.setSize(600, 160);
frame.setLayout(new GridBagLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
接下來我們要加入元件到視窗中
假設我們要加入的是Label
那麼我們可以這樣寫
JLabel n0 = new JLabel(name[0]);
GridBagConstraints c0 = new GridBagConstraints();
c0.gridx = 0;
c0.gridy = 0;
c0.gridwidth = 1;
c0.gridheight = 1;
c0.weightx = 0;
c0.weighty = 0;
c0.fill = GridBagConstraints.NONE;
c0.anchor = GridBagConstraints.WEST;
frame.add(n0, c0);
這裡我們分成三個部份看
首先是宣告Label物件
於是我們寫
JLabel n0 = new JLabel(name[0]);
第二部分是定義排版規則
GridBagConstraints c0 = new GridBagConstraints();
c0.gridx = 0;
c0.gridy = 0;
c0.gridwidth = 1;
c0.gridheight = 1;
c0.weightx = 0;
c0.weighty = 0;
c0.fill = GridBagConstraints.NONE;
c0.anchor = GridBagConstraints.WEST;
最後一部分是將物件加入框架中
frame.add(n0, c0);
第一個參數欄位是要加入的元件, 第二個欄位是他的排版規則
排版規則可以重複使用
例如如果要批次的加入按鈕的話
可以這樣寫
for (int i = 0; i < 7; i++) {
JButton n5 = new JButton(name[i + 3]);
GridBagConstraints c5 = new GridBagConstraints();
c5.gridx = i;
c5.gridy = 2;
c5.gridwidth = 1;
c5.gridheight = 1;
c5.weightx = 0;
c5.weighty = 0;
c5.fill = GridBagConstraints.BOTH;
c5.anchor = GridBagConstraints.CENTER;
frame.add(n5, c5);
}
這樣子就可以重複使用c5 這個規則了
Note 到這邊
謝謝大家
沒有留言:
張貼留言