本文目录一览:
- 1、JAVA中提供了几种布局管理器?简述他们之间的区别?紧急
- 2、java中怎么样给一个容器添加布局管理器
- 3、java布局管理器有哪几种各自的特点
- 4、Java布局管理器问题
- 5、JAVA中,Frame和Panel默认的布局管理器分别是什么类型?
- 6、在java中GroupLayout这个布局管理器的中文名叫什么?绝对布局又应该怎么设置?
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)),就可以了。