Java初学日记:UI篇(1)

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的登录界面。先给出实例图片:

在这里插入图片描述
源码来了:

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中的一些对话框

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值