界面设计的流程

1、 创建一个窗体对象

JFrame jframe = new JFrame()

2、给窗体对象设置相应的属性

jframe.setTitle("L-System");//设置窗体标题
	jframe.setSize(800, 600);//设置窗体大小
	jframe.setDefaultCloseOperation(jframe.EXIT_ON_CLOSE);//关闭窗体时结束程序
	jframe.setLocationRelativeTo(null);//弹出窗体时从屏幕中央显示

3、设置布局方式
java共有五种布局管理器:
流式布局管理器(FlowLayout)
边界布局管理器(BorderLayout)
网格布局管理器(GridLayout)
卡片布局管理器(CardLayout)
网格包布局管理器(GridBagLayout)。
前三种比较常见,这里仅介绍前三种:
流式布局FlowLayout
组件按照加入的先后顺序,从左向右排列,一行排满后到下一行开始继续排列。

//流式布局 FlowLayout
	FlowLayout fl = new FlowLayout();
	jframe.setLayout(fl);
	for(int i=0;i<10;i++) {
		JButton btn = new JButton("btn"+i);
		btn.setPreferredSize(new Dimension(80,30));//设置组件大小
		jframe.add(btn);//将按钮添加到窗体上
	}

效果图
可以看到,按钮随着添加的顺序,从左到右一次排列,当一排放不下时,会从下一排开始继续排列,并且每行按钮整体居中显示,随着放大缩小窗体,按钮布局会随着界面大小改变而改变。




java窗口切换实现 java窗口界面设计_布局管理器


边界布局BorderLayout
整个面板被分为了东南西北中五个部分,每个部分只能放置一个组件或容器

//边界布局
	BorderLayout bl = new BorderLayout();
	jframe.setLayout(bl);
	JButton northbtn = new JButton("north");
	JButton southbtn = new JButton("south");
	JButton eastbtn = new JButton("east");
	JButton westbtn = new JButton("west");
	JButton centerbtn = new JButton("center");
	jframe.add(centerbtn,BorderLayout.CENTER);
	jframe.add(northbtn,BorderLayout.NORTH);
	jframe.add(southbtn,BorderLayout.SOUTH);
	jframe.add(eastbtn,BorderLayout.EAST);
	jframe.add(westbtn,BorderLayout.WEST);

效果图



java窗口切换实现 java窗口界面设计_java窗口切换实现_02


网格布局GridLayout
它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。
网格每列宽度相同,等于容器的宽度除以网格的列数。网格每行高度相同,等于容器的高度除以网格的行数。

GridLayout gl = new GridLayout(4,3,5,5);
	jframe.setLayout(gl);		
	for(int i=0;i<10;i++) {
		JButton btn = new JButton("btn"+i);
		jframe.add(btn);//将按钮添加到窗体上
	}

效果图



java窗口切换实现 java窗口界面设计_布局管理器_03

除此之外还可以不设置布局方式,通过setBounds在窗体上的放置组件

jframe.setLayout(null);
	JButton btn1 = new JButton("btn1");
	JButton btn2 = new JButton("btn2");
	btn1.setBounds(0, 0, 400, 30);
	btn2.setBounds(20, 100, 80, 30);
	jframe.add(btn1);
	jframe.add(btn2);

效果图



java窗口切换实现 java窗口界面设计_java窗口切换实现_04

4、根据布局,来创建,设置,添加组件对象

常用的组件

组件名称

效果图

按钮 JButton

标签 JLabel

JComboBox 下拉框

JCheckBox 复选框

JRadioButton 单选框

JTextField 文本框

JPasswordField 密码文本框

添加好,组件后,需要设置事件监听器,来监听用户对组件的操作,从而做出相应的反应。以按钮为例:

JButton btn1 = new JButton("button");
	jframe.add(btn1);
	//添加监听器
	MyListener ml = new MyListener();
	btn1.addActionListener(ml);
public class MyListener implements ActionListener{
	@Override
	public void actionPerformed(ActionEvent e) {
		String str = e.getActionCommand();
		if(str.equals("button")) {
			System.out.println("你点击了"+str);
		}
	}
}

效果图



java窗口切换实现 java窗口界面设计_java窗口切换实现_05