美文网首页
日志8.24:布局管理器

日志8.24:布局管理器

作者: 莫唁 | 来源:发表于2015-08-24 04:19 被阅读167次

本来想昨晚把布局管理器复习完之后放到日志上,以为差不多可以掌握了,突然发现一开始写代码就各种不会,以至于写到现在才只能做出最简单的界面,所以说以后还是要多敲敲代码,巩固下所学的知识,任重道远啊!废话不多说,开始总结:


1.java界面开发主要步骤:继承JFrame——定义组件——创建组件——添加组件——设置窗体属性——显示窗体

2.java.awt类包中包含五种布局管理器:

1.流式布局管理器(FlowLayout):Pannel和Applet的缺省布局管理器;

2.边界布局管理器(BorderLayout):window、JDialog、Dialog、Frame、JFrame的缺省布局管理器;

3.网格布局管理器(GridLayout);

4.卡片布局管理器(CardLayout);

5.网格包布局管理器(GridBagLayout);

3.如果用户确实需要设置组件的大小和位置,则应取消该容器的布局管理器。方法为:setLayout(null);

4.FlowLayout布局方式是将组件一排一排地依次放置。它自动调用组件的getPrefferredSize()方法,使用组件的最佳尺寸来显示组件。当容器被重新设置大小后,则布局也会重新发生改变:各组件的大小不变,但相对位置会发生变化

5.FlowLayout有三种构造方法:

1.public FlowLayout()

使用缺省居中对齐方式。组件的水平和垂直间距为缺省值5个像素

2.public FlowLayout(int alignment)

使用指定的对齐方式。

3.public FlowLayout(int alignment,int horizontalGap,int verticalGap)

使用指定的对齐方式,水平和垂直间距为指定值。

6.BorderLayout布局使用了更加复杂的布局控制方法,它包括五个区域:NORTH、SOUTH、EAST、WEST、CENTER。当容器尺寸发生变化时,各组件的相对位置不变,但中间部分的尺寸会发生变化,南北组件的高度不变,东西组件的宽度不变。

7.BorderLayout类中有两种构造方法:

1.public BorderLayout()

各组件的水平和垂直间距为缺省值0个像素。

2.public BorderLayout(int horizontalGap,int verticalGap)

各组件的水平和垂直间距为指定像素。

8.如果容器中使用了BorderLayout布局方式,则用add()方法往容器添加组件时,要指明添加的位置,若无指明,则默认为"CENTER"方位。例:add (new Button(BorderLayout.WEST)。

9.每个区域只能添加一个组件,若添加多个组件,则只能显示一个。如果想在组件中添加多个组件。则必须在该区域内放置一个Pannel容器,再将多个组件放在该Pannel容器中。

10.GridLayout布局方式可以使容器中的各个组件呈网格状分布。容器中各组件的宽度和高度相同。当容器的尺寸发生变化时,各组件的相对位置不变,但各自的尺寸会发生变化。

11.GridLayout布局方式有三种构造方法:

1.public GridLayout()

在一行中放置所有的组件,各组件间的水平和垂直间距为0像素;

2.public GridLayout(int rows,int cols)

rows和cols可以有一个为0。若rows为0,则表示每行放置cols个组件,根据具体的组件,可以有任意多行;若cols为0,这表示共有rows行,根据具体的组件数,每行可以放任意多个组件;

3.public GridLayout(int rows,int cols,int horizontalGap,int verticalGap)

各组件的水平和垂直间距为指定值。

12.CardLayout可以帮助用户处理两个或更多的组件共享同意显示空间。只有最上面的组件是可见的。

13.CardLayout可以像换牌一样处理共享空间的组件:为每张牌定义一个名字,可按名字选牌;可以按顺序向前或向后翻牌;也可以直接选第一张或最后一张牌。使用方法如下:

public void show(Container parent,String name)

public void next(Container parent)

public void previous(Container parent)

public void first(Container parent)

public void last(Container parent)

其中Container是拥有该CardLayout布局管理器的容器

14.CardLayout有两种构造方法:

1.public CardLayout()

组件距容器的左右和上下边界的距离为缺省值0像素;

2.public CardLayout(int horizontalGap,int verticalGap)

组件距容器的左右和上下边界的距离为指定像素。

15.采用Layout布局方式时,向容器中添加组件时可以为组件取一个名字,以供更换显示组件时使用:add(String Component)。


总结的内容差不多了,但是具体组件的用法没有标出来,下面再写一些令我熬夜的代码吧,稍微复杂些的内容将在明天补充:


1.最简单的布局方式,如下图:

代码如下:

步骤:1.继承JFrame;2.定义组件;3.创建组件;4.添加组件;5.设置窗体属性;6.显示窗体。

import java.awt.*;

import javax.swing.*;

//继承JFrame

public class Demo extends JFrame

{

//定义组件

JPanel jp1,jp2;

JButton jbs[]=new JButton[6];

//创建构造函数

public Demo()

{

//创建组件

for(int i=0;i<6;i++)      //对象数组在定义数组后,需对数组成员重新定义

    jbs[i]=new JButton();

jp1=new JPanel();

jp2=new JPanel();

jbs[0]=new JButton("苹果");

jbs[1]=new JButton("西瓜");

jbs[2]=new JButton("狐狸");

jbs[3]=new JButton("葡萄");

jbs[4]=new JButton("樱桃");

jbs[5]=new JButton("荔枝");

//添加组件

jp1.add(jbs[0]);

jp1.add(jbs[1]);

jp2.add(jbs[2]);

jp2.add(jbs[3]);

jp2.add(jbs[4]);

//设置布局管理器

this.setLayout(new BorderLayout());     //经常出错,请记住

this.add(jp1,BorderLayout.NORTH);

this.add(jp2,BorderLayout.SOUTH);

this.add(jbs[5],BorderLayout.CENTER);

//设置窗体属性

this.setSize(300,200);

this.setLocation(40,40);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//显示窗体

this.setVisible(true);

}

//主函数

public static void main(String args[])

{

Demo demo=new Demo();

}

}


待续......(补充至下一篇)

相关文章

  • 日志8.24:布局管理器

    本来想昨晚把布局管理器复习完之后放到日志上,以为差不多可以掌握了,突然发现一开始写代码就各种不会,以至于写到现在才...

  • 二、Android布局管理器

    1、布局管理器的继承关系 Android布局管理器本身也是UI组件,所有的布局管理器都是ViewGroup的子类,...

  • 迟到的java总结

    1.默认布局管理器 1.1 Java的Jframe和Jwindow的默认布局管理器为边界式布局管理器 1.2 而J...

  • RecyclerView 的三种LayoutManager

    RecyclerView 推出了三种布局管理器:1、LinearLayoutManager 线性布局管理器,呈现线...

  • PYQT5布局管理

    Qt布局管理按简单分可分为绝对位置布局和布局管理器布局 一、绝对位置布局: 组件不放在布局管理器中,通过函数set...

  • tkinter 布局管理

    1 布局管理器 布局管理器是负责管理各组件的大小和位置的。此外,当用户调整窗口大小后,布局管理器还会自动调整窗口中...

  • Java基础08GUI

    Java 基础07IO GUI四大布局 FlowLayout(流式布局管理器)它是Panel默认的布局管理器。 B...

  • 第十章 使用日志监控 - 配置日志监控

    第十章 使用日志监控 - 配置日志监控 日志监视器管理器实用程序 ^MONMGR 允许配置和管理日志管理器。可以停...

  • 【Android 性能优化】Android布局优化解读

    Android的布局管理器本身就是个UI组件,所有的布局管理器都是ViewGroup的子类,而ViewGroup是...

  • Java进阶学习笔记(十一)

    1、控制反转: 1.1 布局管理器: frame成为容器中的部件,部件管理容器---布局管理器; 1.2 控制反转...

网友评论

      本文标题:日志8.24:布局管理器

      本文链接:https://www.haomeiwen.com/subject/uznxcttx.html