Java swing布局详解附示例图Word文档格式.docx
- 文档编号:15873347
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:11
- 大小:96.91KB
Java swing布局详解附示例图Word文档格式.docx
《Java swing布局详解附示例图Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java swing布局详解附示例图Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
4*/
5privatestaticvoidcreateAndShowGUI(){
6//Createandsetupthewindow.
7JFrameframe=newJFrame("
FlowLayoutDemo"
);
8frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
9//Setupthecontentpane.
10addComponentsToPane(frame.getContentPane());
11//Displaythewindow.
12frame.pack();
13frame.setVisible(true);
14}
15//main()程序入口,单独起一个线程,实例化UI。
16publicstaticvoidmain(String[]args){
17javax.swing.SwingUtilities.invokeLater(newRunnable(){
18publicvoidrun(){
19createAndShowGUI();
20}
21});
22}
FlowLayout
FlowLayout类是最简单的布局管理器。
它按照和页面上排列单词的类似方式来安排组件----从左到右,直至没有多余的空间,然后转到下一行。
效果:
内容面板代码:
23publicstaticvoidaddComponentsToPane(Containerpane){
24pane.setLayout(newFlowLayout());
25pane.add(newJButton("
Button1"
));
26pane.add(newJButton("
Button2"
27pane.add(newJButton("
Button3"
28pane.add(newJButton("
Long-NamedButton4"
29pane.add(newJButton("
5"
30}
BorderLayout
一个BorderLayout对象将界面分成五大区域,分别用BorderLayout类的静态常量指定:
-PAGE_START
-PAGE_END
-LINE_START
-LINE_END
-CENTER
31publicstaticvoidaddComponentsToPane(Containerpane){
32JButtonbutton=newJButton("
Button1(PAGE_START)"
33pane.add(button,BorderLayout.PAGE_START);
34button=newJButton("
Button2(CENTER)"
35button.setPreferredSize(newDimension(200,100));
36pane.add(button,BorderLayout.CENTER);
37button=newJButton("
Button3(LINE_START)"
38pane.add(button,BorderLayout.LINE_START);
39button=newJButton("
Long-NamedButton4(PAGE_END)"
40pane.add(button,BorderLayout.PAGE_END);
41button=newJButton("
5(LINE_END)"
42pane.add(button,BorderLayout.LINE_END);
43}
BoxLayout
BoxLayout可以将组件由上至下或由左至右依次加入当前面板。
44publicstaticvoidaddComponentsToPane(Containerpane){
45JPanelxPanel=newJPanel();
46xPanel.setLayout(newBoxLayout(xPanel,BoxLayout.X_AXIS));
47addButtons(xPanel);
48JPanelyPanel=newJPanel();
49yPanel.setLayout(newBoxLayout(yPanel,BoxLayout.Y_AXIS));
50addButtons(yPanel);
51
52pane.add(yPanel,BorderLayout.PAGE_START);
53pane.add(xPanel,BorderLayout.PAGE_END);
54}
55
56privatestaticvoidaddAButton(Stringtext,Containercontainer){
57JButtonbutton=newJButton(text);
58button.setAlignmentX(Component.CENTER_ALIGNMENT);
59container.add(button);
60}
61
62privatestaticvoidaddButtons(Containercontainer){
63addAButton("
container);
64addAButton("
65addAButton("
66addAButton("
67addAButton("
68}
CardLayout
卡片布局和其他布局不同,因为它隐藏了一些组件。
卡片布局就是一组容器或者组件,它们一次仅仅显是一个,组中的每个容器称为卡片。
69publicvoidaddComponentToPane(Containerpane){
70finalJPanelcontentPanel=newJPanel();
71JPanelcontrolPanel=newJPanel();
72finalCardLayoutcardLayout=newCardLayout();
;
73pane.setLayout(newBorderLayout());
74pane.add(contentPanel,BorderLayout.CENTER);
75pane.add(controlPanel,BorderLayout.PAGE_END);
76controlPanel.setLayout(newFlowLayout());
77
78JButton[]b=newJButton[10];
79for(inti=0;
i<
10;
i++){
80b[i]=newJButton("
No."
+i);
81contentPanel.add(b[i]);
82}
83contentPanel.setLayout(cardLayout);
84JButtonnextButton=newJButton("
next"
85nextButton.addActionListener(newActionListener(){
86publicvoidactionPerformed(ActionEvente){
87cardLayout.next(contentPanel);
88}});
89controlPanel.add(nextButton);
90}
GridLayout
GridLayout让你建立一个组件表格,并且当组件加入时,会依序又左至右,由上至下填充到每个格子,它不能由你指定想放那个格子就放那个格子
91publicstaticvoidaddComponentsToPane(Containerpane){
92JButton[]buttons=newJButton[9];
93pane.setLayout(newGridLayout(3,3));
94for(inti=0;
buttons.length;
95buttons[i]=newJButton(i+"
"
96pane.add(buttons[i]);
97}
98}
GridBagLayout
GridBagLayout是所有AWT布局管理器当中最复杂的,同时他的功能也是最强大的。
GridBagLayout同GridLayout一样,在容器中以网格形式来管理组件。
但GridBagLayout功能要来得强大得多。
1、GridBagLayout管理的所有行和列都可以是大小不同的;
2、GridLayout把每个组件限制到一个单元格,而GridBagLayout并不这样:
组件在容器中可以占据任意大小的矩形区域。
GridBagLayout通常由一个专用类来对他布局行为进行约束,该类叫GridBagConstraints。
其中有11个公有成员变量,GridBagConstraints可以从这11个方面来进行控制和操纵。
这些内容是:
1、gridx—组件的横向坐标;
2、girdy—组件的纵向坐标;
3、gridwidth—组件的横向宽度,也就是指组件占用的列数;
4、gridheight—组件的纵向长度,也就是指组件占用的行数;
5、weightx—指行的权重,告诉布局管理器如何分配额外的水平空间;
6、weighty—指列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java swing布局详解附示例图 swing 布局 详解 示例