创建一个简单的页面

  • Java中与界面相关的代码
  • 分类
  • 以一个简单的登录界面为例
  • 开发登录界面需要使用的相关元素
  • 开发登录界面的步骤
  • 实现的代码
  • 其他内容


Java中与界面相关的代码

分类

1.按代码所属的包名分类:
java.awt:java早期使用的界面开发包,有尺寸、布局、监听器等等。
javax.swing:该包下的组件类的类名以J开头。
2.按代码的功能分类:

  • 容器组件:存储其他组件。
    顶级容器组件:界面,所有其他的组件都必须添加在顶级容器组件上才能显示。
  • 元素组件:提供和用户交互功能,如输入(输入框、按钮等),输出(显示图片、文字)
  • 布局:组件在容器中的摆放规则:
    FlowLayout布局:将所有的组件从左到右依次摆放,一行摆放不下时自动换行,一行能放置多少组件取决于窗口的宽度。
    BorderLayout布局:分为东、南、西、北、中心五个方位。北和南的组件可以在水平方向上拉伸;而东和西的组件可以在垂直方向上拉伸;中心的组件可同时在水平和垂直方向上同时拉伸,从而填充所有剩余空间。一个位置只能显示一个组件,相同位置的组件会被覆盖,只显示最上面(最后添加)的组件。
    GridLayout布局:放置组件时,只能从左到右、由上到下的顺序填充。

以一个简单的登录界面为例

开发登录界面需要使用的相关元素

顶级容器组件			JFrame

图片				javax.swing.ImageIcon
布局				java.awt.FlowLayout
尺寸				java.awt.Dimension

显示图片、文字的标签	JLabel
文本输入框			JTextField
密码输入框			JPasswordFiled
多选框				JCheckBox
登录按钮				JButton

开发登录界面的步骤

  • 创建一个类,并为这个类定义一个显示界面的方法(如showUI())。
  • 实现这个方法,首先创建一个顶级容器组件(JFrame)的对象,并为其设置一些基本属性(如标题、大小等)。
  • 创建各个组件(如按钮、输入框),为其设置属性,并将其添加到窗体上。
  • 在主函数中创建类的对象,并调用showUI()。

实现的代码

package zjc_gsm;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Color;
public class ShowUI {
	public void showLoginUI(){
		//创建顶级容器组件的对象
		JFrame Aframe = new JFrame("LoginUI");
		//设置其大小
		Aframe.setSize(500, 450);
		
		//创建布局的对象,这里用的是流式布局
		FlowLayout flowlay = new FlowLayout();
		//为其设置布局
		Aframe.setLayout(flowlay);
		
		//创建若干文字的对象
		JLabel text1 = new JLabel("注册账号");
		JLabel text2 = new JLabel("忘记密码");
		
		//创建若干输入框的对象
		JTextField input1 = new JTextField();
		JTextField input2 = new JTextField();
		//设置输入框的大小
		Dimension dimeninput = new Dimension(400,30);
		input1.setPreferredSize(dimeninput);
		input2.setPreferredSize(dimeninput);
		
		//获得图片
		ImageIcon background = new ImageIcon("C:\\picture.png");
		JLabel back = new JLabel(background);
		
		//创建复选框
		JCheckBox remember = new JCheckBox("记住密码");
		JCheckBox autoLogin = new JCheckBox("自动登录");
		
		//创建按钮
		JButton Loginac = new JButton("登录");
		JButton register = new JButton("注册");
		//设置按钮大小
		Dimension dimenbutton = new Dimension(200,50);
		Loginac.setBackground(Color.blue);
		register.setBackground(Color.blue);
		Loginac.setPreferredSize(dimenbutton);
		register.setPreferredSize(dimenbutton);
		//设置颜色
		Loginac.setBackground(Color.blue);
		register.setBackground(Color.blue);
		
		//将各个组件添加到窗体上
		Aframe.add(back);
		Aframe.add(input1);
		Aframe.add(text1);
		Aframe.add(input2);
		Aframe.add(text2);
		Aframe.add(remember);
		Aframe.add(autoLogin);
		Aframe.add(Loginac);
		Aframe.add(register);
		
		//设置窗体初始位置
		Aframe.setLocationRelativeTo(null);
		//设置窗体关闭后程序的处理
		Aframe.setDefaultCloseOperation(Aframe.EXIT_ON_CLOSE);
		
		//设置窗体可见
		Aframe.setVisible(true);
	}
	
	//主方法
	public static void main (String[] args){
		ShowUI showui = new ShowUI();
		showui.showLoginUI();
	}
}

其他内容

  1. public void setVisible(boolean b)设置其可见性,窗口默认不可见。
  2. public void setDefaultCloseOperation(int operation)用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理,其中的参数operation取JFrame类中的下列int型常量,程序根据参数operation取值做出不同的处理。
    0 = DO_NOTHING_ON_CLOSE(什么也不做)
    1 = HIDE_ON_CLOSE (隐藏当前窗口)
    2 = DISPOSE_ON_CLOSE (隐藏当前窗口,并释放窗体占有的其他资源)
    3 = EXIT_ON_CLOSE (结束窗口所在的应用程序)
  3. public voidsetBounds(int a , int b , int width , int height)设置窗口的初始位置是(a,b),即距屏幕左面a个像素,距屏幕上方b个像素,窗口的宽是width,高是height。或分别用 public void setSize(int width , int height)和 public void setLocation(int x , int y) 来调节大小和位置。
  4. public void setLocationRelativeTo(Component c)设置窗口相对于指定组件的位置,如果组件当前未显示或者 c = null,则此窗口将置于屏幕的中央。
  5. public void dispose()撤销当前窗口,并释放当前窗口所使用的资源。