在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();
        }
}

 

运行结果如图:

image

在这个程序中我只添加了一个用户,用户名为admin,密码为123.当输入用户及密码后单击“确定”按钮,结果为:

DE9VBOEBTM4U[3$KTY(F_UI

0$$N$7_GH5KOR4}ZI~_[%NE

如果输入信息有误,则会出现如图所示信息:

$)F4$SF7YZBJPEC0CE)A7GA

有关用户登陆界面的程序就写到这里,在此我想说的是在Java中有关桌面开发的技术并不是很难,虽然用到的技术很多,但它们的编程思想是相通的。这篇文章就是在我学了swt之后,用了很短时间又用swing写的,里面涉及到很多的控件及很多的方法,我们没有必要全都背下来,当然这也是不现实的。在我们编写桌面程序时,碰到不会的地方,可以去查资料,当然我说的不会只是不会用但原理是清楚的,但具体函数清楚而已。好了,先写到这里吧,有不足之处请大家批评指正。