Download presentation
Presentation is loading. Please wait.
1
版面配置與JPanel 版面配置原理 JAVA常用版面配置 JPanel JScrollPane 作業
2
版面配置原理 使用者的環境並不確定,可能用PC、PDA、 手機,螢幕解析度也不一樣
所以由程式人員自己完全控制版面的配置, 並不是很妥當的做法。 Java採用LayoutManager(版面管理員)的 方式來解決此問題。 Container(容器)物件的setLayout method 可以用來設定版面。 不用版面管理員的範例如ui13
3
常用版面配置 設定方法: FlowLayout:流水式版面配置(最常用) BorderLayout:邊界版面配置
CardLayout:卡片狀版面配置 GridLayout:格子版面配置 GirdBagLayout:延伸格子狀版面配置 (最強大) 設定方法: c.setLayout(new FlowLayout(FlowLayout.CENTER));
4
FlowLayout 由左到右,由上到下排列,像一般文字那樣排 FlowLayout(FlowLayout.CENTER)
FlowLayout(int align, int hgap, int vgap) 由左到右,由上到下排列,像一般文字那樣排 FlowLayout.CENTER 置中對齊 FlowLayout.LEFT 靠左 FlowLayout.RIGHT靠右 setAlignment()設定對齊方式 setHgap()設定水平間距 setVgap設定垂直間距 參考ui14
5
BorderLayout BorderLayout() BorderLayout(int hgap, int vgap)
這種版面設定只能放五個元件,分別是放 在SOUTH NORTH EAST WEST CENTER add時指定BorderLayout.SOUTH 這種方式 來設定。 參考ui15
6
CardLayout CardLayout() CardLayout(int hgap, int vgap)
這種版面設定一次show一頁,一頁一個元 件,必須換頁才能展示其他元件 c.add(元件,String 頁名稱); 常用method: next(容器)翻頁 previous last first 跳到前一頁、第一頁、 最後一頁 show(容器,頁名) 跳到某一頁 參考ui16
7
GridLayout GridLayout(int rows, int cols)
GridLayout(int rows, int cols, int hgap, int vgap) 這種版面設定是表格狀的排列元件 常用的method setColumns(int cols) 設定欄數 setRows(int rows) 設定列數 參考ui17
8
GirdBagLayout GridBagLayout() 必須配合GridBagConstraints類別使用
基本上跟GridLayout接近,但是可以設定元件 的長寬比例 c.add(元件,GridBagConstraints); weightx 設定x比例 weighty 設定y比例 gridwidth=GridBagConstraints.REMAINDER; 設定為一行的最後一個元件 insets=new Insets(5,5,5,5)設定元件間隙 參考ui18
9
JPanel 標準的Layout manager功能較薄弱,可以 利用JPanel當容器以方便版面設定。 JPanel()
JPanel(LayoutManager layout) 常用method add(元件) 加入元件
10
JScrollPane 加入捲軸功能 JScrollPane(Component view) 常用method
setVerticalScrollBarPolicy(int policy) setHorizontalScrollBarPolicy(int policy) policy JScrollPane.VERTICAL_SCROLLBAR_AS _NEEDED JScrollPane.VERTICAL_SCROLLBAR_NE VER JScrollPane.VERTICAL_SCROLLBAR_AL WAYS 參考ui20
11
作業 HWG9:寫一個電動玩具,由電腦跟人玩猜 拳,計算輸贏幾次
課堂作業:用BorderLayout設計四個按鈕, 控制圖形汽車上下左右移動。 HWG11:做一個按鈕,按下就擲三骰子, show出3骰子的值與總數
Similar presentations