您的位置:

java布局管理器,java布局管理器实验总结

本文目录一览:

JAVA中提供了几种布局管理器?简述他们之间的区别?紧急

java中提供了5种布局管理器,1.Borderlayout 这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件;2.Flowlayout 这个按照上面横排布局,流布局用于安排有向流中的组件,这非常类似于段落中的文本行;3.Gridlayout 它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件;4.Cardlayout 它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到 CardLayout 对象的组件为可见组件;5.Boxlayout 允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。 用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂。该图显示了两个水平排列的面板,每个面板都包含 3 个垂直排列的组件。

java中怎么样给一个容器添加布局管理器

所有的容器均可以调用父类设置布局管理器方法

setLayout(LayoutManager mgr)

设置此容器的布局管理器。

java布局管理器有哪几种各自的特点

大概讲简单的三种:

①FlowLayout流布局管理器,它的布局方式是在一行上排列组件,当一行没有足够空间时,则回行显示,默认为居中

②BorderLayout边界布局管理器,它的布局方式是将容器划分为5个部分

③GridLayout网格布局管理器,它的布局方式是将容器按照用户设置平均划分成若干网格

Java布局管理器问题

问题一:

自定义的类BorderLayout和 java.awt.BorderLayout 这个类同名了 , 需要修改.

比如修改成BorderLayoutDemo

问题二:

这些组件的复制粘贴 ,注意修改啊 ,jb1 ,jb2 ,jb2...jb2 , jb2添加了4次....

this.add(jb1,BorderLayout.CENTER);

this.add(jb2,BorderLayout.NORTH);

this.add(jb2,BorderLayout.EAST);

this.add(jb2,BorderLayout.SOUTH);

this.add(jb2,BorderLayout.WEST);

并且由于你的类名也叫BorderLayout ,所以BorderLayout.CENTER..等方位的值都是null.

缺省的状态下,都会放到中间. 最后的覆盖前面的.所以最后只显示出1个jb2.并且居中

修改后的效果图

修改的代码

import java.awt.BorderLayout;

import javax.swing.JButton;

import javax.swing.JFrame;

//注意类名

public class BorderLayoutDemo extends JFrame {

// 定义组件

JButton jb1, jb2, jb3, jb4, jb5;

public static void main(String[] args) {

// TODO Auto-generated method stub

BorderLayoutDemo bl = new BorderLayoutDemo();

}

public BorderLayoutDemo() {

// 创建组件

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(500, 400);

this.setLocation(600, 300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

JAVA中,Frame和Panel默认的布局管理器分别是什么类型?

JAVA中,Framel默认的布局管理器是BorderLayout类型,Panel默认的布局管理器是FlowLayout类型。

FlowLayout是Panel 和 Applet 的默认布局管理器。在该布局管理器中,组件在容器中按照从上到下,从左到右的顺序进行排列,行满后则换行。

BorderLayout是Window、Frame和Dialog的默认布局管理器,其将容器分成North、South、East、West和Center 5个区域,每个区域只能放置一个组件。使用BorderLayout时,如果容器大小发生变换,组件的相对位置不变。

扩展资料:

其它相关的布局管理器:

1、网格布局管理器(GridLayout):

GridLayout 可使容器中的各个组件呈网格状布局,平局占据容器的空间,即使容器的大小发生变化,每个组件还是平均占据容器的空间。和FlowLayout一样,GridLayout也是按照从上到下,从左到右的规律进行排列的。

2、卡片布局管理器(CardLayout):

CardLayout能够帮助用户处理两个乃至跟多的成员共享同一显示空间。它把容器分成许多层,每层的显示空间占据整个容器的大小,并且每层之允许反之一个组件,可以通过Panel来实现每层复杂的用户界面。

参考资料来源:百度百科-JPanel

参考资料来源:百度百科-AWT

在java中GroupLayout这个布局管理器的中文名叫什么?绝对布局又应该怎么设置?

先说第一个问题,GroupLayout中文叫群组布局。

再说第二个问题,使用绝对布局需要对组件所在的窗体容器中取消使用布局管理:setLayout(null);

然后将你所要添加的组件分别设置其大小(setSize(w,h))和位置(setLocation(x,y)),就可以了。