用java swing作为软件的页面开发工具,页面上各个组件的位置都需要十分的精准,不然会影响美观!
java swing的布局管理器有
1、边框布局管理器(上下左右中)
2、流式布局管理器(自适应窗体大小,从左到右,从上到下)
3、网格布局管理器(行*列,组件都按照这样的位置排列)
4、卡片布局管理器(只显示一个面板,另一个面板隐藏)
5、盒子布局管理器(可以竖着排列,可以横着排列)
6、网格包布局管理器(没有固定的行列,一个组件可以占多个列,比较灵活)
但是,说到精准,以上的布局管理器总是没有那么人性化!
精准布局还是要用到空布局管理器!
1、 jf.setLayout(null);设置布局模式是null
2、采用jl.setBounds(0,0,690, 30);
setBounds(x,y,w, h);
x-代表组件左上角距离窗体左边的距离
y-代表组件左上角距离窗体上边的距离
w-组件的长度
h-组件的宽度
这个类似于html/jsp中的绝对定位
以下是一个小栗子
package cn.com.swing;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class FirstPage {
/*author:命运的信徒
* arm:程序的初始页面
* date:2019/1/19
*/
private static void firtPage(){
//1.设置窗体大小和标题
JFrame jf=new JFrame("矿井管理系统");
jf.setPreferredSize(new Dimension(700, 700));
//2.设置关闭窗口就是关闭程序
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//最精准的布局模式空布局
jf.setLayout(null);
//设置定位
JLabel jl=new JLabel("矿井平硐位移监测系统",JLabel.CENTER);
jl.setPreferredSize(new Dimension(680, 30));
jf.add(jl);
jl.setBounds(0,0,690, 30);
jl.setFont(new Font("宋体", Font.BOLD, 24));
jl.setForeground(Color.decode("#375a7f"));
//菜单栏
//新建一个菜单条
JMenuBar jb=new JMenuBar();
jf.add(jb);
jb.setBounds(0,40, 690, 30);
jb.setBackground(Color.decode("#65991a"));
//新建一个菜单选项
JMenu jmenu=new JMenu("首页");
jmenu.setPreferredSize(new Dimension(100, 30));
jmenu.setForeground(Color.white);
jb.add(jmenu);
//新建一个菜单项
//新建一个菜单选项
JMenu jmenu1=new JMenu("更多");
jmenu1.setForeground(Color.white);
jmenu1.setPreferredSize(new Dimension(100, 30));
jb.add(jmenu1);
//新建一个菜单项
JMenuItem jm0=new JMenuItem("退出程序");
JMenuItem jm1=new JMenuItem("使用教程");
jmenu1.add(jm0);jmenu1.add(jm1);
//3.设置窗体可见
jf.pack();
jf.setVisible(true);
}
public static void main(String[] args) {
firtPage();
}
}
效果图如下