java写个登陆小程序
我有一段代码,想请高手帮我把代码改一下,该成我要求的界面,界面要求如下
代码如下
package name;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class MyFrame extends JFrame{
//标签
JLabel label,label2;
//文本框
JTextField usernametext;
//密码框
JPasswordField password;
//按钮
JButton loginBut,exitBut;
public MyFrame(){
setTitle("QQ登陆界面");
//窗口的主容器
final Container c = getContentPane();
c.setLayout(null); //让容器采用空布局
c.setBackground(Color.GREEN);
final Icon icon1 = new ImageIcon("src/images/1.gif");
label = new JLabel("账号:");
label.setIcon(icon1);
//label.setHorizontalTextPosition(SwingConstants.LEFT);
c.add(label);
label.setBounds(10, 80, 80, 20);
usernametext = new JTextField();
c.add(usernametext);
usernametext.setBounds(100, 80, 100, 20);
final Icon icon2 = new ImageIcon("src/images/4.gif");
label2 = new JLabel("密码:");
label2.setIcon(icon2);
c.add(label2);
label2.setBounds(10, 120, 80, 20);
password=new JPasswordField();
c.add(password);
password.setBounds(100, 120, 100, 20);
loginBut = new JButton("进入"); // 实例化组件
c.add(loginBut);//加入容器
loginBut.setIcon(icon1); //设置按钮显示图片
loginBut.setRolloverIcon(icon2); //设置鼠标经过按钮时的图片
loginBut.setBounds(50, 160, 80, 20);//设置组件的位置
loginBut.setToolTipText("进入请点击该按钮!");
//给按钮注册监听器
final myActionLis lis = new myActionLis();
loginBut.addActionListener(lis);
exitBut = new JButton();
exitBut.setText("回滚");//设置按钮值
c.add(exitBut);
exitBut.setBounds(140, 160, 80, 20);
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(final String[] args) {
new MyFrame();
}
class myActionLis implements ActionListener{
public void actionPerformed(final ActionEvent e) {
//获取文本框或者密码框的值(内容)
final String name = usernametext.getText();
final String pwd = password.getText();
if(name.equals("") || pwd.equals("")){
//弹出提示框
JOptionPane.showMessageDialog(null, "账号或者密码不能为空!");
}
else{
if(name.equals("631411672") && pwd.equals("19900505")){
JOptionPane.showMessageDialog(null, "恭喜您!登录成功!");
}
else{
JOptionPane.showMessageDialog(null, "账号或者密码错误!请重新输入!");
}
}
}
}
}
追问:诶,那是上课时的作业,现在都下课了,日,从下午两点上到六点半,真郁闷
答案:首先建立数据库import java.sql.*;
public class zhanghao
{
public static void main(String args[])throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:zhanghu");
Statement s=con.createStatement();
//s.executeUpdate("create table zhanghu("+"id char(10),"+"name char(15),"+"password integer"+")");
// s.executeUpdate("insert into zhanghu values("+"'0001','xxx',1990)");
//s.executeUpdate("insert into zhanghu values("+"'0002','qqq',1)");
// s.executeUpdate("insert into zhanghu values("+"'0003','xxx',110)");
s.close();
con.close();
}
}
然后设置主程序
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class zh extends JFrame implements ActionListener
{
JLabel name=new JLabel(" 姓名");
JTextField inputname=new JTextField();
JLabel password=new JLabel(" 账号");
JPasswordField ps=new JPasswordField(10);
JButton tijiao=new JButton("提交");
JButton chongzhi=new JButton("重置");
Container cp=getContentPane();
public zh(){
setVisible(true);
setSize(300,150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cp.setLayout(new GridLayout(3,2));
cp.add(name);
cp.add(inputname);
cp.add(password);
cp.add(ps);
cp.add(tijiao);
cp.add(chongzhi);
tijiao.addActionListener(this);
chongzhi.addActionListener(this);
}
public static void main(String args[])
{
new zh();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==tijiao)
{
new Thread(){
public void run()
{
String myname=inputname.getText();
String myps=ps.getText();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:zhanghu");
Statement s=con.createStatement();
PreparedStatement ps=con.prepareStatement("select * from zhanghu where name=?");
ps.setString(1,myname);
ResultSet rs=ps.executeQuery();
while(rs.next())
if(rs.getString("password").equals(myps))
JOptionPane.showMessageDialog(null,"密码正确!");
else
JOptionPane.showMessageDialog(null,"密码错误!");
ps.close();
s.close();
con.close();
}
catch(Exception ex){}
}
}.start();
}
if(e.getSource()==chongzhi)
{
inputname.setText("");
ps.setText("");
}
}
}
//有点像你那的那个图,不过还是差一些,应当是,不行再说。
package com.TC;
import java.awt.Checkbox;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class MyFrame extends JFrame {
// 标签
JLabel label, label2, no_use;
// 文本框
JTextField usernametext;
// 密码框
JPasswordField password;
// 按钮
JPanel rem_not_show = new JPanel();//用于装记住密码与隐身的两个对象
JPanel log_cancel = new JPanel();//用于装登陆和取消的两个对象
JButton loginBut, exitBut,register;
Checkbox rem_pwd = new Checkbox("记住密码");
Checkbox not_show = new Checkbox("隐身登陆");
/*这的布局是这种,可以达到效果*/
GridBagLayout gblayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
public MyFrame() {
setTitle("QQ登陆界面");
// 窗口的主容器
final Container c = getContentPane();
c.setLayout(gblayout); // 让容器采用空布局
c.setBackground(Color.GREEN);
constraints.weightx = 0;
constraints.weighty = 0;
constraints.gridx = 1;
label = new JLabel("账号:",JLabel.CENTER);
gblayout.setConstraints(label, constraints);
c.add(label);
constraints.gridx = 2;
usernametext = new JTextField(10);
gblayout.setConstraints(usernametext, constraints);
c.add(usernametext);
constraints.gridx = 3;
register = new JButton("注册");
gblayout.setConstraints(register, constraints);
c.add(register);
constraints.gridx = 1;
constraints.gridy = 2;
label2 = new JLabel("密码:",JLabel.CENTER);
gblayout.setConstraints(label2, constraints);
c.add(label2);
constraints.gridx = 2;
password = new JPasswordField(10);
gblayout.setConstraints(password, constraints);
c.add(password);
constraints.gridx = 2;
constraints.gridy = 3;
rem_not_show.add(rem_pwd);
rem_not_show.add(not_show);
rem_not_show.setBackground(c.getBackground());
gblayout.setConstraints(rem_not_show, constraints);
c.add(rem_not_show);
exitBut = new JButton();
exitBut.setText("回滚");// 设置按钮值
loginBut = new JButton("进入"); // 实例化组件
log_cancel.add(loginBut);
log_cancel.add(exitBut);
constraints.gridx = 2;
constraints.gridy = 4;
gblayout.setConstraints(log_cancel, constraints);
log_cancel.setBackground(c.getBackground());
c.add(log_cancel);
loginBut.setToolTipText("进入请点击该按钮!");
// 给按钮注册监听器
final myActionLis lis = new myActionLis();
loginBut.addActionListener(lis);
setSize(400, 300);
setVisible(true);上一个:java 怎样实现多线程下载的
下一个:KJava和Java有什么不同?