Java学习日记:UI篇(1)

目标:实现一个界面,并添加一些按钮(不可操作)。

目标是要一步步实现的,所以我们先来第一步,写出一个空白界面,这样我们才能向它加入按钮。

package uL;
import javax.swing.JFrame;//窗体

public class draw{
	//主函数
	public static void main(String[] args){		
		draw LUI= new draw();
		LUI.ShowMyUI();		
	}
	
	public void ShowMyUI() {
		//初始化生成界面
		JFrame LoginJF = new JFrame();
		LoginJF.setTitle("登录界面");
		LoginJF.setSize(600,450);//界面大小
		LoginJF.setLocationRelativeTo(null);//界面默认居中
		LoginJF.setDefaultCloseOperation(3);//使界面上的关闭键有效

		LoginJF.setResizable(false);//窗体大小默认不可变
		LoginJF.setVisible(true);//可视化,此处很重要,这是为了让我们的页面可见
		}
	}

界面有了,接下来便是向界面上加入我们需要的东西。我们需要给界面添加一个布局器,在这里我们使用:流式布局(FlowLayout 默认居中,而后按照添加顺序依次从左至右从上至下摆放)。

public class UI界面{
	//定义主方法
	public static void main(String[] args) {
		UI界面 name1 =new UI界面();
		name1.方法名();		
	}	
	//定义界面函数
	public void 方法名() {
		/**
		 * 创建组件的对象
		 */
		 
		//设置布局
		
		//设置组件:文字、图片、标签、按钮、输入框等

		/**
		 * 设置组件的属性:大小等
		 */

		//将组件添加至页面
		 	
		// 组件的添加必须在可视化之前,否则组件将不可见。 
		loginFrame.setVisible(true);//可视化,窗体设置没有这行代码就不会出现在屏幕上	
	}
}
以上为实现一个简单界面的基本思路,下面给出实例:仿QQ的登录界面。先给出实例图片:

javaui界面代码 java写ui界面_java


源码来了:

package uL;
//导入所需要使用的类
import java.awt.Dimension;
import java.awt.FlowLayout;//流体布局

import javax.swing.ImageIcon;//图片标签
import javax.swing.JButton;//按钮
import javax.swing.JCheckBox;//复选框
import javax.swing.JFrame;//窗体
import javax.swing.JLabel;//标签
import javax.swing.JPasswordField;//密码框
import javax.swing.JTextField;//普通文本框

//定义类
public class LoginUI{
	//主函数
	public static void main(String[] args){		
		LoginUI LUI= new LoginUI();
		LUI.ShowMyUI();		
	}
	
	public void ShowMyUI() {
		//初始化生成界面
		JFrame LoginJF = new JFrame();
		LoginJF.setTitle("登录界面");
		LoginJF.setSize(600,450);
		LoginJF.setLocationRelativeTo(null);//设置界面默认居中
		LoginJF.setDefaultCloseOperation(3);//3代表EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。
		LoginJF.setResizable(false);//窗体大小默认不可变
		
		//设置布局:流式布局(默认居中,而后按照添加顺序依次从左至右从上至下摆放)
		FlowLayout  fl =new FlowLayout();
		LoginJF.setLayout(fl);
		
		//文字 -- 图片  —— 标签
		ImageIcon imgIcon = new ImageIcon("E:\\study\\JAVA\\May-23-study\\src\\uL\\image\\UI-1.png");//此处我给出一张绝对路径的图片,可在文末下载
		JLabel imgJL =new JLabel(imgIcon);	
		JLabel zhanghaoJL =new JLabel("账号:");
		JLabel pwdJL = new JLabel("密码:");
		JLabel blankJL1 =new JLabel();
		JLabel blankJL2 =new JLabel();
		JLabel blankJL3 =new JLabel();
		JLabel blankJL4 =new JLabel();
		JLabel blankJL5 =new JLabel();
		JLabel blankJL6 =new JLabel();
		JLabel blankJL7 =new JLabel();
		JLabel blankJL8 =new JLabel();
		
		JTextField zhanghaoField = new JTextField(); // 文本框
		JPasswordField pwdField =new JPasswordField();//密码框
		
		JButton loginBtn = new JButton("登录");
		JButton regitBtn = new JButton("注册");
		JButton fogetBtn = new JButton("忘记密码");
		JCheckBox reBox = new JCheckBox("自动登录");
		JCheckBox remBox = new JCheckBox("记住密码");
		
		//设置组件尺寸大小
		Dimension dim = new Dimension(300,30);
		
		Dimension dim1 = new Dimension(150,30);
		Dimension dim3 = new Dimension(70,30);//占位空白框尺寸,账号提示前
		Dimension dim2 = new Dimension(140,30);//占位空白框尺寸,账号输入框后1
		Dimension dim4 = new Dimension(76,30);//占位空白框尺寸,账号输入框后2
		Dimension dim5 = new Dimension(100,30);//占位空白框尺寸,复选框前
		Dimension dim6 = new Dimension(60,30);//占位空白框尺寸,复选框后
		Dimension dim7 = new Dimension(40,30);//占位空白框尺寸,登录后
		Dimension dim8 = new Dimension(80,30);//占位空白框尺寸,登录前
		Dimension dimlogin = new Dimension(250,30);//占位空白框尺寸,密码输入框后
		
		zhanghaoField.setPreferredSize(dim);//设置组件大小
		pwdField.setPreferredSize(dim);	
		blankJL1.setPreferredSize(dim1);
		blankJL2.setPreferredSize(dim2);
		blankJL3.setPreferredSize(dim3);
		blankJL4.setPreferredSize(dim4);
		blankJL5.setPreferredSize(dim5);
		blankJL6.setPreferredSize(dim6);
		blankJL7.setPreferredSize(dim7);
		blankJL8.setPreferredSize(dim8);
		loginBtn.setPreferredSize(dimlogin);
		
		
		LoginJF.add(imgJL);
		LoginJF.add(blankJL3);
		
		LoginJF.add(zhanghaoJL);
		LoginJF.add(zhanghaoField);
		LoginJF.add(blankJL2);
		LoginJF.add(blankJL4);
		
		LoginJF.add(pwdJL);
		LoginJF.add(pwdField);
		LoginJF.add(blankJL1);
		LoginJF.add(blankJL5);
		LoginJF.add(remBox);
		LoginJF.add(reBox);
		LoginJF.add(fogetBtn);
		LoginJF.add(blankJL6);
		LoginJF.add(blankJL8);
		LoginJF.add(loginBtn);
		LoginJF.add(blankJL7);
		
		LoginJF.setVisible(true);//可视化,此处很重要
	}	
}

接下来给出一些界面编程中常用的组件。

JFrame            Swing的框架类
JButton           Swing按钮,按钮中可以带一些图片或者文字
JCheckbox         Swing中的复选框组件
JLabel            Swing中的标签组件
JTextField        Swing中的文本框
JRadioButton      Swing中的单选按钮
JPasswordField    Swing中的密码框
JDialog           Swing中的对话框
JComboBox()       Swing中的下拉列表框,可以在下拉显示区域显示多个选项
JList             Swing中显示对象列表并且允许用户选择一个或多个项的组件。
JTextArea         Swing中的文本区域
JOptionPane       Swing中的一些对话框

以上为一个初始界面的设置方法,下一次将为相应的组件添加监听器并实现一些简单功能。

实例中使用的图片(来源于截图),可根据自己的需求为程序插入美观的图片。

javaui界面代码 java写ui界面_java_02