JAVA入门到精通-第30讲-布局管理器

摘要:
当到达容器的边界时,组件将放置到下一行中。//设置窗体属性this.setTitle;//窗体标题名称this.setSize;//窗体尺寸this.setLocation;//窗体在屏幕打开时的初始位置this.setDefaultCloseOperation;//退出窗体后将JFrame同时关闭//禁止用户改变窗体大小this.setResizable;//显示窗体this.setVisible;}}xxxxxxxxxx1531流式布局FlowLayout--使用[Window003.java]2/**3*流式布局FlowLayout使用演示4*1、继承JFrame5*2、定义你需要的各个组件6*3、创建组件7*4、添加组件8*5、对窗体设置9*6、显示窗体10*/11importjava.awt.*;12importjavax.swing.*;13publicclassWindow003extendsJFrame{14//定义组件15JButtonjb1,jb2,jb3,jb4,jb5,jb6;1617publicstaticvoidmain{18Window003win=newWindow003();19}2021publicWindow003(){22//创建组件23jb1=newJButton;24jb2=newJButton;25jb3=newJButton;26jb4=newJButton;27jb5=newJButton;28jb6=newJButton;2930//添加各个组件31this.add;32this.add;33this.add;34this.add;35this.add;36this.add;3738//设置布局管理器,流式布局默认为居中对齐39this.setLayout;40//newFlowLayout流式布局,(FlowLayout.??
JAVA入门到精通-第30讲-布局管理器第1张
JFrame默认是边界布局的;
流式布局FlowLayout默认是居中对齐的;

右对齐:
JAVA入门到精通-第30讲-布局管理器第2张
JAVA入门到精通-第30讲-布局管理器第3张
JAVA入门到精通-第30讲-布局管理器第4张
按道理每个按钮可以设置大小;
一旦把布局管理器设置好,按钮大小会自动设置;
JAVA入门到精通-第30讲-布局管理器第5张
null设置按钮大小;

JAVA入门到精通-第30讲-布局管理器第6张
禁止用户改变窗口大小;
JAVA入门到精通-第30讲-布局管理器第7张
网格布局适合做计算器;

对象数组需要NEW一下;
JAVA入门到精通-第30讲-布局管理器第8张

设置网格布局:
(几行,几列)
JAVA入门到精通-第30讲-布局管理器第9张
JAVA入门到精通-第30讲-布局管理器第10张
JAVA入门到精通-第30讲-布局管理器第11张
运用for循环;
JAVA入门到精通-第30讲-布局管理器第12张
因为不是简单数组,需要new一个;
JAVA入门到精通-第30讲-布局管理器第13张
JAVA入门到精通-第30讲-布局管理器第14张
边界布局BorderLayout--注意事项
1、不是五个部分都必需添加;
2、中部组件会自动调节大小;
3、JFrame,Jdialog默认布局管理器就是BorderLayout

三大常用布局管理器--流式布局
流式布局FlowLayout--介绍
FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置在容器中。当到达容器的边界时,组件将放置到下一行中。FlowLayout可以以左对齐、居中对齐、以右对齐的方式排列组件。

xxxxxxxxxx
1
53
1
流式布局FlowLayout--使用[Window003.java]
2
/**
3
* 流式布局FlowLayout使用演示
4
* 1、继承JFrame
5
* 2、定义你需要的各个组件
6
* 3、创建组件(在构造函数中组件)
7
* 4、添加组件
8
* 5、对窗体设置
9
* 6、显示窗体
10
*/
11
import java.awt.*;
12
import javax.swing.*;
13
public class Window003 extends JFrame{
14
  //定义组件
15
  JButton jb1,jb2,jb3,jb4,jb5,jb6;
16
  
17
  public static void main(String[] args) {
18
      Window003 win=new Window003();
19
   }
20
  
21
  public Window003(){
22
    //创建组件
23
    jb1=new JButton("关羽");
24
    jb2=new JButton("张飞");
25
    jb3=new JButton("赵云");
26
    jb4=new JButton("马超");
27
    jb5=new JButton("黄忠");
28
    jb6=new JButton("魏延");
29
    
30
    //添加各个组件
31
    this.add(jb1);
32
    this.add(jb2);
33
    this.add(jb3);
34
    this.add(jb4);
35
    this.add(jb5);
36
    this.add(jb6);
37
    
38
    //设置布局管理器,流式布局默认为居中对齐
39
    this.setLayout(new FlowLayout(FlowLayout.LEFT));
40
//new FlowLayout(FlowLayout.LEFT)流式布局,(FlowLayout.??)??可以设置为不同方式对齐。
41
    //设置窗体属性
42
    this.setTitle("流式布局演示");//窗体标题名称
43
    this.setSize(300, 200);//窗体尺寸
44
    this.setLocation(200, 200);//窗体在屏幕打开时的初始位置
45
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭
46
47
    //禁止用户改变窗体大小
48
    this.setResizable(false);
49
50
    //显示窗体
51
    this.setVisible(true);
52
   }
53
}

------------------------------------------------------------------------------
流式布局FlowLayout--注意事项
1、不限制他所管理的组件大小,允许他们有最佳大小
2、当容器缩放时,组件的位置可能变化,但组件的大小不变。
3、默认组件是居中对齐,可以通过FlowLayout(intalign)函数来指定对齐方式。
JAVA入门到精通-第30讲-布局管理器第15张
---------------------------------------------------------------------------------
三大常用布局管理器--网格
网格布局GridLayout--介绍
GridLayout布局,听其名而知其意,它将容器分割成多行多列,组件被填充到每个网格中,添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其它的组件,当占满该行的所有网格后,接着继续在下一行从左到右放置组件。

网格布局GridLayout--使用[Window004.java]
1
/**
2
* 网格布局GridLayout使用演示
3
* 1、继承JFrame
4
* 2、定义你需要的各个组件
5
* 3、创建组件(在构造函数中组件)
6
* 4、添加组件
7
* 5、对窗体设置
8
* 6、显示窗体
9
*/
10
import java.awt.*;
11
import javax.swing.*;
12
public class Window004 extends JFrame{
13
  //定义组件
14
  int size=9;
15
  JButton jbs[]=new JButton[size];
16
  
17
  public static void main(String[] args) {
18
      Window004 win=new Window004();
19
   }
20
  
21
  public Window004(){
22
    //创建组件
23
    for(int i=0;i<size;i++){
24
      jbs[i]=new JButton(String.valueOf(i+1));
25
     }
26
    
27
    //添加各个组件
28
    for(int i=0;i<size;i++){
29
      this.add(jbs[i]);
30
     }
31
    
32
    //设置网格布局管理器
33
    this.setLayout(new GridLayout(3,3,10,10));//new GridLayout(行,列)设置布局有几行几列
34
    
35
    //设置窗体属性
36
    this.setTitle("网格布局演示");//窗体标题名称
37
    this.setSize(300, 200);//窗体尺寸
38
    this.setLocation(200, 200);//窗体在屏幕打开时的初始位置
39
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭
40
    
41
    //禁止用户改变窗体大小
42
    this.setResizable(false);
43
    
44
    //显示窗体
45
    this.setVisible(true);
46
   }
47
}
JAVA入门到精通-第30讲-布局管理器第16张
------------------------------------------------------------------------------
网格布局GridLayout--注意事项
1、组件的相对位置不随容器的缩放而变化,但大小会变化;
2、所有组件的大小相同;
3、可以通过GridLayout(int rows,int cols,int hgap,int vgap)来指定网格的行/列,水平间隙/垂直间隙。
参数说明:rows:行数/cols:列数/hgap:垂直间隙/vgap:水平间隙

三大常用布局管理器--小结
开发GUI程序步骤
1、继承JFrame
2、定义需要的组件
3、创建组件
4、设置布局管理器
5、添加组件
6、显示窗体






来自为知笔记(Wiz)

免责声明:文章转载自《JAVA入门到精通-第30讲-布局管理器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux中Samba详细安装DbEntry 简单实现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

怎样能使winform窗体的大小固定住,不能调整其大小

窗体FormBorderStyle属性设置为:FixedSingle,再把最大化禁用就可以了 使用.Net编写Windows程序,对于窗体控制常见项目 属性:1、让窗体在启动时在指定位置出现 form1.StartPosition Manual CenterScreen WindowsDefaultLocation (default) Window...

(4)C#工具箱-菜单和工具栏

1、ContextMenuStrip(右键菜单栏) 把contextMenuStrip控件拖到窗体上,会在窗体下面显示,点击控件在最上行显示菜单栏,可以任意设置。(运行以后不会在界面上显示,它需要预控件关联,然后点击右键后显示) 安图中样式设置好后(为了方便查看先把text的属性Multiline变成多行文本框)设置ContextMenuStrip属性对...

2019-2-13TextBox技巧

清空所有的TextBox文本框 思路:这些TextBox都是在一个窗体上的,这时候我们可以利用一个循环去遍历窗体上所有的TextBox控件。(代码如下) foreach (Control i in Controls) //清空所有的文本框 { if (i is TextBo...

WPF布局(2)控件拖动

从Window继承的控件窗体,实现窗体拖动时可以简单的调用DragMove方法。但是对于自定义控件可以采取响应MouseButtonDown,MouseMove,MouseButtonUp的方法来实现控件的拖动。首先定义两个位置变量:    Point pOld = new Point();    Point pNew = new Point(); 1、M...

Qt布局管理

设计软件中各个部件的位置排列,有两种方法: 1.设置widget的在父窗体中的坐标和大小 widget->move(x,y); widget->resize(width,height); //widget->setGeometry(QRect(x,y,width,height)); 什么时候用:不想被布局约束,对这种控件可控制时 例如下面...

C#中利用Handle的操作

C#中利用Handle的操作 1.我新建了个窗体,窗体中放个Label,这个Label用来显示窗体的句柄。 2.拖个Timer控件到窗体中,设置属性Enable=true 3.代码里添加名字空间引用 using System.Runtime.InteropServices; //加入获得Handle的API [DllImport("user32.d...