`
lazyee
  • 浏览: 15042 次
社区版块
存档分类
最新评论

简单登陆界面的实现

    博客分类:
  • java
阅读更多
要用java实现一个简单登陆界面,首先应该来了解下java中有关图形界面的工具。
Swing开发:
一、java图形界面的分类
1、awt:在jdk 1.4之前一般使用awt,优点是功能强大,使用方便。缺点是跨平台性不好。一般通过包名(java.awt.*)来调用其中的方法。
2、swing:在jdk 1.4之后出现,有着良好的跨平台性,但是在有些方面的功能不如awt.一般通过包名(java.swing.*)来调用其中的方法。
二、Swing中常用的类
1、容器:有两种常用的容器,,一种是JFrame,JFrame是窗体类,如果要创建一个窗体来显示什么东西的话就一定会用到它;另外一种是JPanel,Jpanel是面板类,它的使用相当灵活,经常与布局一起使用。
在容器使用前,要实例化容器对象,然后用对象名.方法名调用容器类中的方法。例如:javax.swing.JFrame jf = new javax.swing.JFrame();
2、元素组件:元素组件就是窗体上显示的一些小组件,有六种常用的组件,分别为:JLabel(标签)、JButton(按钮)、JTextField(文本输入框)、JComboBox(下拉文本框)、JCheckBox(复选框)、JPasswordField(密码输入框)。
使用步骤:
Javax.swing.J* 组件名 = new Javax.swing.J*();//实例化一个组件对象
容器名.add(组件名);//将组件添加到容器上
3、布局方式:有三种:
(1)、流式布局 FlowLayout:添加的组件按从左至右的方式排列,排满一行则换行,若不满一行则默认居中放置。
(2)、边框布局 BorderLayout:它将容器分为5个区域东、西、南、北、中,每个区域只能放置一个组件。
(3)、网格布局 GridLayout:它将容器分成大小相等的矩形,一个矩形中放置一个组件。
使用步骤:
Javax.awt.*Layout 布局名 = new javax.awt.*Layout();//实例化一个布局类对象
容器名.setLayout(布局名);//设置容器布局
要注意的是,每个容器对象上只能设置一种布局方式。
基本的工具已经知道了,接下来就可以来确定实现简单登陆界面的大概步骤了。
Step 1:新建一个Login.java文件。
Step 2:在Login类中定义一个initUI界面初始化方法。
Step 3:在initUI中实例化一个JFrame类的对象。
Step 4:设置JFrame对象的属性值。如标题、大小等。
Step 5:实例化元素组件对象并将对象添加到窗体上。
Step 6:在主函数中实例化Login类的对象,并调用对象的initUIt方法

具体程序代码如下:
public class Login {

	//定义一个界面初始化方法
	public void initUI(){
		//实例化一个JFrame容器对象
		javax.swing.JFrame jf = new javax.swing.JFrame();
		//设置JFrame对象的属性值
		jf.setTitle("简单登录界面");//设置标题
		jf.setSize(300,200);//设置窗体大小
		jf.setDefaultCloseOperation(3);//设置窗体关闭的时候退出程序(窗体有默认的关闭按钮)
		jf.setLocationRelativeTo(null);	//设置窗体居中显示
		
		//实例化一个流式布局类的对象
		java.awt.FlowLayout fl= new java.awt.FlowLayout();
		//设置窗体的布局方式
		jf.setLayout(fl);
		
		//实例化账号标签对象
		javax.swing.JLabel lbName=new javax.swing.JLabel();
		//设置标签显示的文本
		lbName.setText("账号:");
		//将对象添加到窗体上
		jf.add(lbName);
		//实例化账号输入框对象,并指定列数
		javax.swing.JTextField txtName=new javax.swing.JTextField(20);
		jf.add(txtName);
		
		//实例化密码标签对象
		javax.swing.JLabel lb2Name=new javax.swing.JLabel();
		lb2Name.setText("密码:");
		jf.add(lb2Name);
		//实例化密码输入框对象,并指定列数
		javax.swing.JPasswordField txtpwd =new javax.swing.JPasswordField(20);
		jf.add(txtpwd);
		
		//实例化一个JButton的对象,并显示文本
		javax.swing.JButton btnLogin=new javax.swing.JButton("登      录");
		jf.add(btnLogin);
		
		//设置窗体可见
		jf.setVisible(true);	
		
	}
	
	/**
	 * 程序的入口主函数
	 */
	public static void main(String[] args) {
		//实例化Login类的对象
		Login lg=new Login();
		lg.initUI();
	}
}

程序运行结果为:


总结:1、由上可知,实现某个界面显示的通用步骤为:定义方法、实例化容器、设置布局、实例化元素组件、添加组件到面板、主函数中调用方法。
2、上述代码中有很多之前没有说到的方法,它们都是在java中已经定义了的,可以用F3查看源代码。
3、鉴于用包名.类名调用过于麻烦,可以只写类名,然后用Ctrl+Shift+O引入包。
4、前面已经说到类的继承,在这里可以直接用Login类继承JFrame类,之后就可以用this直接调用JFrame中的方法。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics