标签:流程 exit jpanel ++ 产生 pre 连接 intvalue extends
1.设计思想
利用Math.random()产生一个int类型随机数,循环6次把int类型转换成char类型连接在一起,组成一个验证码字符串。定义各种组件,完成添加和布局。
2.程序流程图
3.源程序
import java.awt.*;
import javax.swing.*;
public class LoginInterface extends JFrame
{
JPanel win1,win2;
JLabel label1,label2,label3,label4;
JButton button1,button2,button3,button4,button5;
JTextField id;
JTextField verification_code;
JPasswordField password;
public static void main(String args[])
{
LoginInterface login=new LoginInterface();
}
public LoginInterface()
{
String result = "";
for(int i = 0 ; i < 6 ; i ++)//进行5次循环
{
int intVal = (int)(Math.random() * 26 + 97);//生成一个97~122的int型的整数
result = result + (char)intVal;//将intValue强制转换为char后连接到result后面
}
win1=new JPanel();
win2=new JPanel();
label1=new JLabel("登录名",JLabel.CENTER);
label2=new JLabel("密码",JLabel.CENTER);
label3=new JLabel("验证码",JLabel.CENTER);
label4=new JLabel("忘记密码",JLabel.CENTER);
label4.setFont(new Font("宋体",Font.PLAIN,16));//设置字体大小,
label4.setForeground(Color.BLUE);//设置字的颜色
label4.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
button1=new JButton("登录");
button1.setForeground(Color.RED);
button2=new JButton("快速注册");
button3=new JButton("清除");
button4=new JButton(result);
button4.setForeground(Color.GREEN);
button5=new JButton("退出");
id=new JTextField();
verification_code=new JTextField();
password=new JPasswordField();
win1.setLayout(new GridLayout(3,3));
win1.add(label1);
win1.add(id);
win1.add(button3);
win1.add(label2);
win1.add(password);
win1.add(label4);
win1.add(label3);
win1.add(verification_code);
win1.add(button4);
win2.add(button1);
win2.add(button5);
win2.add(button2);
this.add(win2,BorderLayout.SOUTH);
this.add(win1, BorderLayout.CENTER);
this.setTitle("登录器");
this.setSize(340,200);
this.setLocation(200,200);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
4.截图
5.总结
(1)界面太死板
(2)没有实现事件处理,原想把验证码定义为button按下时即可重新生成。
标签:流程 exit jpanel ++ 产生 pre 连接 intvalue extends
原文地址:http://www.cnblogs.com/ssyh/p/7639584.html