91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javaGUI編程中布局控制器的示例分析

發布時間:2021-10-15 17:04:53 來源:億速云 閱讀:116 作者:柒染 欄目:編程語言

javaGUI編程中布局控制器的示例分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

布局控制器,是用來系統自動分配各個component在window內部是怎么排布的;默認為FlowLayout,即挨個排序。FlowLayout是Panel的

instance 1:FlowLayout

import java.awt.*;public class TestLayout { public static void main(String[] args) { Frame f = new Frame(); Button b1 = new Button("ok"); Button b2 = new Button("open"); Button b3 = new Button("change"); f.setBackground(Color.BLUE); f.setBounds(100, 100, 300, 300); f.setLayout(new FlowLayout()); f.setResizable(true); f.add(b1); f.add(b2); f.add(b3); f.setVisible(true); }}

instance 2:BorderLayout

import java.awt.*;public class TestBorderLayout { public static void main(String[] args) { Frame f = new Frame("Border Layout"); Button bn = new Button("Bn"); Button bs = new Button("Bs"); Button be = new Button("Be"); Button bw = new Button("Bw"); Button bc = new Button("Bc"); // f.add(bw,"West");// f.add(be,"East");// f.add(bn,"North");// f.add(bs,"South");// f.add(bc,"Center");// f.setLayout(new BordorLayout()); f.add(bn,BorderLayout.NORTH); f.add(bs,BorderLayout.SOUTH); f.add(bw,BorderLayout.WEST); f.add(be,BorderLayout.EAST); f.add(bc,BorderLayout.CENTER);  f.setSize(200, 200); f.setVisible(true); }}

BorderLayout把整個界面劃分為東西南北中五個區域塊;其中BorderLayout.NORTH等是int類型的數據,為一個常量。

instance 3:GridLayout

import java.awt.*;public class TestGridLayout { public static void main(String[] args) { Frame f = new Frame(); Button b1 = new Button("b1"); Button b2 = new Button("b2"); Button b3 = new Button("b3"); Button b4 = new Button("b4"); Button b5 = new Button("b5"); Button b6 = new Button("b6"); f.setLayout(new GridLayout(3,2));  f.add(b1); f.add(b2); f.add(b3); f.add(b4); f.add(b5); f.add(b6); f.pack(); f.setSize(200, 200); f.setVisible(true); }}

注:當調用Layout后,其內部的component的大小和位置由系統(布局管理器自主分配),而無法認為的設計。而pack()方法是用來顯示各個組件的。

instance 4:綜合實例

import java.awt.*;public class TestedLayout { public static void main(String[] args) { Frame f = new Frame("GUI"); f.setLayout(new GridLayout(2,1)); Panel p1 = new Panel(new BorderLayout()); Panel p2 = new Panel(new BorderLayout()); Panel p11 = new Panel(new GridLayout(2,1)); Panel p22 = new Panel(new GridLayout(2,2)); Button b1 = new Button("button"); Button b2 = new Button("button"); Button b3 = new Button("button"); Button b4 = new Button("button"); Button b5 = new Button("button"); Button b6 = new Button("button"); Button b7 = new Button("button"); Button b8 = new Button("button"); Button b9 = new Button("button"); Button b10 = new Button("button"); p1.add(b1,BorderLayout.WEST); p1.add(b2,BorderLayout.EAST); p2.add(b3,BorderLayout.WEST); p2.add(b4,BorderLayout.EAST); p11.add(b5); p11.add(b6); p22.add(b7); p22.add(b8); p22.add(b9); p22.add(b10); p1.add(p11,BorderLayout.CENTER); p2.add(p22,BorderLayout.CENTER); f.add(p1); f.add(p2); f.setBounds(100, 100, 400, 400); f.setVisible(true);  }}

注:一個new等于創建了一個button對象,分配了一個內存空間。即使是完全相同的button即同樣的大小名稱等,其終究還是哪一個,當其被反復添加時,僅僅是相當于給其換了位置。其和變量不同,并不是單純的復制,而是內存和對象的指向問題。

看完上述內容,你們掌握javaGUI編程中布局控制器的示例分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周口市| 广平县| 峨眉山市| 清流县| 高陵县| 长丰县| 武平县| 信阳市| 洞头县| 南汇区| 寿宁县| 香河县| 阿拉善盟| 南皮县| 高要市| 芮城县| 轮台县| 鹤壁市| 正宁县| 漾濞| 监利县| 永靖县| 海淀区| 手机| 兴宁市| 忻城县| 贵阳市| 刚察县| 彰武县| 泊头市| 岫岩| 基隆市| 家居| 青神县| 新余市| 威海市| 金坛市| 壶关县| 桐庐县| 永寿县| 利辛县|