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