三十三、Java图形化界面设计——布局管理器之null布局(空布局)
2016-07-01 21:58
405 查看
一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局。
操作方法:
1) 首先利用setLayout(null)语句将容器的布局设置为null布局(空布局)。
2) 再调用组件的setBounds(int x, int y, int width,int height)方法设置组件在容器中的大小和位置,单位均为像素。
x为控件左边缘离窗体左边缘的距离
y为控件上边缘离窗体上边缘的距离
width为控件宽度
height为控件高度
实例:使用空布局精确定位组件的位置
// NullLayoutDemo.Java
import java.awt.*;
import javax.swing.*;
public class NullLayoutDemo{
JFrame fr;
JButton a,b;
NullLayoutDemo() {
fr = new JFrame();
fr.setBounds(100,100,250,150);
//设置窗体为空布局
fr.setLayout(null);
a=new JButton("按钮a");
b=new JButton("按钮b");
fr.getContentPane().add(a);
//设置按钮a的精确位置
a.setBounds(30,30,80,25);
fr.getContentPane().add(b);
b.setBounds(150,40,80,25);
fr.setTitle("NullLayoutDemo");
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setLocationRelativeTo(null); //让窗体居中显示
}
public static void main(String args[]){
new NullLayoutDemo();
}
}
操作方法:
1) 首先利用setLayout(null)语句将容器的布局设置为null布局(空布局)。
2) 再调用组件的setBounds(int x, int y, int width,int height)方法设置组件在容器中的大小和位置,单位均为像素。
x为控件左边缘离窗体左边缘的距离
y为控件上边缘离窗体上边缘的距离
width为控件宽度
height为控件高度
实例:使用空布局精确定位组件的位置
// NullLayoutDemo.Java
import java.awt.*;
import javax.swing.*;
public class NullLayoutDemo{
JFrame fr;
JButton a,b;
NullLayoutDemo() {
fr = new JFrame();
fr.setBounds(100,100,250,150);
//设置窗体为空布局
fr.setLayout(null);
a=new JButton("按钮a");
b=new JButton("按钮b");
fr.getContentPane().add(a);
//设置按钮a的精确位置
a.setBounds(30,30,80,25);
fr.getContentPane().add(b);
b.setBounds(150,40,80,25);
fr.setTitle("NullLayoutDemo");
fr.setVisible(true);
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setLocationRelativeTo(null); //让窗体居中显示
}
public static void main(String args[]){
new NullLayoutDemo();
}
}
相关文章推荐
- java语言程序设计基础篇第三章编程练习题
- Java Swing 绝对布局管理方法,null布局【图】
- java使用JNI调用驱动-学习笔记
- Spring Schedule 任务调度实现
- Java堆、栈和常量池以及相关String的讲解
- 关于java布局
- java布局问题.这个怎么来布局
- Java面向对象 ----多态
- java stoi
- 《Java小游戏实现》:贪吃蛇
- java有参构造函数的使用
- 编程之美2.16求数组中最长递增子序列Java版
- Java中关于thread的停止问题
- JavaSE 基础 第58节 线程同步问题的由来
- 深入理解Java Proxy机制
- JavaSE 基础 第57节 线程调度的三个方法
- JavaSE 基础 第56节 多线程应用
- Java中的集合类
- JavaSE 基础 第55节 实现Runnable接口创建线程
- struts手动转发数据