import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Scrollbar;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Inputclass extends JFrame implements ActionListener,KeyListener,AdjustmentListener {
private static final long serialVersionUID = -6424953234552605512L;
static Inputclass ta=new Inputclass();
static JButton b;
static TextField t1,t2,t3;
static Scrollbar s1,s2,s3;
static Panel p1=new Panel();
static Panel p2=new Panel();
static Panel p3=new Panel();
static Label l1,l2,l3;
public static void main(String args[])
{
ta.add(p1,BorderLayout.NORTH);
ta.add(p2,BorderLayout.SOUTH);
ta.add(p3,BorderLayout.CENTER);
p1.setLayout(new GridLayout(3,2,10,5));
l1=new Label("用户名");
p1.add(l1);
t1=new TextField(20);
t1.addKeyListener(ta);//为帐号框设置键盘监听者。
p1.add(t1);
l2=new Label("输入密码");
p1.add(l2);
t2=new TextField(20);
t2.setEchoChar('*');
t2.addKeyListener(ta);//为密码框设置键盘监听者。
p1.add(t2);
b=new JButton("登录");
b.addActionListener(ta);
//不能为按钮设置键盘监听者,因为没有编写聚焦按钮的代码。
l3=new Label();
p1.add(l3);
p1.add(b);
t3=new TextField(50);
p2.add(t3);
p1.setBackground(Color.lightGray);
p2.setBackground(Color.lightGray);
p3.setLayout(new GridLayout(3,1,10,5));
s1=new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
s1.addAdjustmentListener(ta);
s2=new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
s2.addAdjustmentListener(ta);
s3=new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
s3.addAdjustmentListener(ta);
p3.add(s1);
p3.add(s2);
p3.add(s3);
ta.setSize(400,200);
ta.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String s1[]={"497693062","961542996","314316013"};
String s2[]={"zx6227","hmj778","lmt1785"};
try{
if(e.getSource()==b)
if(t1.getText()==null||t2.getText()==null||t1.getText().equals(""))
{
t1.requestFocus();
throw new NotInputException4();
}
else if(t1.getText().equals(s1[0]))
if(t2.getText().equals(s2[0]))
t3.setText("登陆成功!");
else
throw new NotInputException6();
else if(t1.getText().equals(s1[1]))
if(t2.getText().equals(s2[1]))
t3.setText("登陆成功!");
else
throw new NotInputException6();
else if(t1.getText().equals(s1[2]))
if(t2.getText().equals(s2[2]))
t3.setText("登陆成功!");
else
throw new NotInputException6();
else
throw new NotInputException5();
}
catch(NotInputException4 e1)
{
String a=e1.toString();
t3.setText(a);
}
catch(NotInputException5 e2)
{
String b=e2.toString();
t3.setText(b);
}
catch(NotInputException6 e3)
{
String c=e3.toString();
t3.setText(c);
}
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode()==KeyEvent.VK_ENTER)
// if (KeyEvent.getKeyText(e.getKeyCode()).compareToIgnoreCase("Enter")==0)
// 这种语句也可以实现此功能。
b.doClick();
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
public void adjustmentValueChanged(AdjustmentEvent e) {
int value1,value2,value3;
value1=s1.getValue();
value2=s2.getValue();
value3=s3.getValue();
p1.setBackground(new Color(value1,value2,value3));
p2.setBackground(new Color(value1,value2,value3));
l1.setBackground(new Color(value1,value2,value3));
l2.setBackground(new Color(value1,value2,value3));
l3.setBackground(new Color(value1,value2,value3));
}
}
class NotInputException4 extends Exception
{
private static final long serialVersionUID = 0L;
public String toString()
{
return "异常:用户名和密码不能为空!";
}
}
class NotInputException5 extends Exception
{
private static final long serialVersionUID = 4071136417197623487L;
public String toString()
{
return "异常:用户名不存在!";
}
}
class NotInputException6 extends Exception
{
private static final long serialVersionUID = 589207192918346711L;
public String toString()
{
return "异常:密码错误!";
}
}