日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 布局教程_java布局学习(新)

發布時間:2025/4/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 布局教程_java布局学习(新) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

堅持學習java一段時間,最近自己需要做一個小型的系統,所以需要自己將自己的AWT知識鞏固一下。

一、4大布局管理器。

1.邊界布局BorderLayout

是JFrame和JDialog的默認布局方法,可以看成地圖的排列方式,一共四個方位:東西南北和地圖一樣,不同的是上北和下南都沒有中間的位置占有的大,中部的占有最大。

舉例:

packagecom.ly;import javax.swing.*;import java.awt.*;public class demo1 extendsJFrame{

JButton jb1,jb2,jb3,jb4,jb5;public static voidmain(String[] args) {//TODO Auto-generated method stub

demo1 d1=newdemo1();

}publicdemo1()

{

jb1=new JButton("中");

jb2=new JButton("北");

jb3=new JButton("東");

jb4=new JButton("南");

jb5=new JButton("西");//添加各個組件

this.add(jb1,BorderLayout.CENTER);this.add(jb2,BorderLayout.NORTH);this.add(jb3,BorderLayout.EAST);this.add(jb4,BorderLayout.SOUTH);this.add(jb5,BorderLayout.WEST);//設置布局

this.setTitle("邊界布局");this.setSize(300,300);this.setLocation(200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);

}

}

2.流式布局FlowLayout

這樣的布局會使部件想水流一樣流動從左到右排列,直到遇到邊界后才重新排列。在Panel中默認使用這種排列方式。

舉例:

packagecom.ly;importjava.awt.FlowLayout;import javax.swing.*;public class Demo2 extendsJFrame{

JButton jb1,jb2,jb3,jb4,jb5;public static voidmain(String[] args) {//TODO Auto-generated method stub

Demo2 d2=newDemo2();

}publicDemo2()

{

jb1=new JButton("1");

jb2=new JButton("2");

jb3=new JButton("3");

jb4=new JButton("4");

jb5=new JButton("5");this.add(jb1);this.add(jb2);this.add(jb3);this.add(jb4);this.add(jb5);//設置布局

this.setLayout(newFlowLayout());this.setTitle("流布局");this.pack();this.setLocation(200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);

}

}

3.GridLayout布局管理器

這樣的布局管理將容器分割成縱橫線的網絡。我個人認為這樣的布局方式較上兩種都好,因為更加靈活,寫一些基本的布局都可以轉換。

packagecom.ly;importjava.awt.GridBagLayout;importjava.awt.GridLayout;import javax.swing.*;public class Demo3 extendsJFrame{int size=9;

JButton []jbs=newJButton[size];public static voidmain(String[] args) {//TODO Auto-generated method stub

Demo3 d3=newDemo3();

}publicDemo3()

{for(int i=0;i

{

jbs[i]=newJButton(String.valueOf(i));

}//設置網格布局

this.setLayout(new GridLayout(3,3));for(int i=0;i

{this.add(jbs[i]);

}this.setTitle("網格布局");this.setSize(300,300);this.setLocation(200,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);

}

}

4.CardLayout布局器

CardLayout布局器采用時間進行管理組件,可以看層是一個卡片盒,只有最上面的compent可見。

剩下的兩種是我體會比較深的,特別是空布局,簡直萬能,不過就是要自己定位有些麻煩,大家有機會可以試試。

1.null布局

將Container的布局管理器設置為null,setLayout(null)

再往容器添加時先調用setBounds()和setSize()設置組建大小和位置

2.BoxLayout布局管理器

我沒用過這種管理器,不過這種管理器應該很強大,大家試試。

BoxLayout(Cotainer?target,int?axis)??而布局有axis橫向排列和

縱向排列

如:f.setLayout(new?BoxLayout(f,BoxLayout.y_AXIS));

BoxLayout通常和Box聯合使用

二、AWT的常用組件

直接上程序吧,比較清晰。

1 //AWT基本組件

2 packagecom.ly.ll;3 import java.awt.*;4 import javax.swing.*;5

6 public classcompoment {7

8 Frame f; //創建窗口

9 Button bt;10 CheckboxGroup cbg; //復選框組

11 Checkbox male,female,married; //復選框

12 Choice colorChoice; //下拉選框

13 List colorList; //列表選擇框

14 TextArea ta; //文本域(多行)

15 TextField name; //文本域(單行)

16

17 public static voidmain(String []args)18 {19 compoment cp=newcompoment();20 }21

22

23 publiccompoment()24 {25 //創建組件

26 f=new Frame("測試界面");27 bt=new Button("確認");28 cbg=newCheckboxGroup();29 male =new Checkbox("男",cbg,true);30 female =new Checkbox("女",cbg,false);31 married =new Checkbox("是否已婚?",false);32 colorChoice=newChoice();33 colorList=new List(3,true);34 ta=new TextArea(5,20); //5行20 列

35 name=new TextField(50); //50列36

37 //初始化組件

38 colorChoice.add("紅");39 colorChoice.add("黃");40 colorChoice.add("藍");41 colorList.add("紅");42 colorList.add("黃");43 colorList.add("藍");44 //panel裝載文本按鈕

45 Panel bottom=newPanel();46 bottom.add(name);47 bottom.add(bt);48 f.add(bottom,BorderLayout.SOUTH); //Frame默認邊界布局

49

50 Panel p2=newPanel();51 p2.add(colorChoice);52 p2.add(male);53 p2.add(female);54 p2.add(married);55

56 //創建垂直組件BOX

57 Box topList=Box.createVerticalBox();58 topList.add(ta); //放入多航文本域

59 topList.add(p2);60

61 Box top=Box.createVerticalBox();62 top.add(topList);63 top.add(colorList);64 f.add(top);65 f.pack();66

67 f.setVisible(true);68 }69 }

顯示結果:

這樣就對上面的知識點有了簡單的總結和認識,但是要進行開發還是遠遠不夠的

下面是java實戰.轉(url)

每日一小步,月過一大步~~加油

總結

以上是生活随笔為你收集整理的java 布局教程_java布局学习(新)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。