在Java中,在关桌面开发方面也是Java的一大应用。但在程序开发中主要是起辅助的作用的。要编写桌面开发程序,需要用到有关图形界面技术。在Java中主要有awt、swt还有swin三种技术。其中awt和swing是sun公司开发的,还有一个就是swt它是IBM公司开发的,但不管是awt、swt还是swing它们的编程思想是很相似的,可以说掌握其中一种那再去理解其它两种是很容易的。今天我就用swing写一个有关用户登陆的小程序。
import javax.swing.*;
import java.awt.event.*;
class Succed extends JFrame{
JPanel jpanel = new JPanel();//创建一个面板
JLabel label = new JLabel("欢迎登陆!"); //创建一个标签
//定义构造器
public Succed(){
jpanel.add(label);
this.add(jpanel);
this.setBounds(300, 300, 300, 300);
this.setVisible(true);
}
}
public class Admin extends JFrame {
private static final long serialVersionUID = 1L;
JTextField text = new JTextField(10);//创建文本框并设置长度
JPasswordField pass = new JPasswordField(10);//创建密码框
JLabel jl1 = new JLabel("用户名");//创建标签
JLabel jl2 = new JLabel("密码");
JButton b1 = new JButton("确认");//创建按钮
JButton b2 = new JButton("退出");
JPanel jp = new JPanel();
public Admin(){ //定义构造器
this.setTitle("登陆界面");
jp.setLayout(null);
jl1.setBounds(30, 20, 80, 30); //设置各个控件的位置,及关系
jp.add(jl1);
jl2.setBounds(30, 70, 80, 30);
jp.add(jl2);
text.setBounds(80, 20, 180, 30);
jp.add(text);
pass.setBounds(80, 70, 180, 30);
jp.add(pass);
b1.setBounds(50, 130, 80, 30);
b2.setBounds(200, 130, 80, 30);
jp.add(b1);
jp.add(b2);
b1.addActionListener(new ActionListener(){//为确定按钮添加时间处理
public void actionPerformed(ActionEvent e){
if("admin".equals(text.getText())&&"123".equals(pass.getText()))
{
new Succed();
}
else{
JOptionPane.showMessageDialog(null,"对不起,账号或密码不正确");
}
}
});
b2.addActionListener(new ActionListener(){//为取消按钮添加时间处理
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
this.add(jp);
this.setBounds(300, 250, 350, 250);//设置窗口大小
this.setVisible(true);//设置窗口可见
}
public static void main(String[] args){
new Admin();
}
}
运行结果如图:
在这个程序中我只添加了一个用户,用户名为admin,密码为123.当输入用户及密码后单击“确定”按钮,结果为:
如果输入信息有误,则会出现如图所示信息:
有关用户登陆界面的程序就写到这里,在此我想说的是在Java中有关桌面开发的技术并不是很难,虽然用到的技术很多,但它们的编程思想是相通的。这篇文章就是在我学了swt之后,用了很短时间又用swing写的,里面涉及到很多的控件及很多的方法,我们没有必要全都背下来,当然这也是不现实的。在我们编写桌面程序时,碰到不会的地方,可以去查资料,当然我说的不会只是不会用但原理是清楚的,但具体函数清楚而已。好了,先写到这里吧,有不足之处请大家批评指正。