急求啊
伙计们,帮我看看这个代码呗,在netbeans上运行不出来,咋整啊?package 登录;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
/**
*
* @author Administrator
*/
public class 登录 extends JFrame implements ActionListener{
private JFrame app;
private JButton 登录,清除,注册,重新输入,退出;
private JLabel 用户姓名,用户口令;
private JTextField 用户名;
private JPasswordField 用户密码;
private JDialog 提示;
private int massage=0;
public 登录()
{
app=new JFrame("电信IP资费管理系统");
app.setSize(200,200);
app.setLocation(360,240);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=app.getContentPane();
c.setLayout(new FlowLayout());
用户姓名=new JLabel("用户姓名");
c.add(用户名);
用户名=new JTextField(10);
c.add(用户名);
用户口令=new JLabel("用户口令");
c.add(用户口令);
用户密码=new JPasswordField(10);
c.add(用户密码);
登录=new JButton("登录");
c.add(登录);
登录.addActionListener(this);
清除=new JButton("清除");
c.add(清除);
清除.addActionListener(this);
提示=new JDialog();
提示.setSize(340,80);
提示.setLocation(app.getX()+100,app.getY()+100);
提示.setLayout(new FlowLayout());
提示.add(new JLabel("重新输入还是退出?"));
重新输入=new JButton("重新输入");
重新输入.addActionListener(this);
提示.add(重新输入);
退出=new JButton("退出");
提示.add(退出);
退出.addActionListener(this);
c.add(new JLabel("如果你还没有注册,请注册"));
注册=new JButton("注册");
c.add(注册);
注册.addActionListener(this);
app.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==登录)
{
Connection con;
Statement stmt;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException f)
{
System.out.println("SQL Exception:"+f.getLocalizedMessage());
}
try
{con=DriverManager.getConnection("jdbc:odbc:电信IP资费管理系统");
stmt=con.createStatement();
rs=stmt.executeQuery("select*from consumer");
while(rs.next())
{
String st1=rs.getString("id");
String st2=rs.getString("password");
char[ ] ps=用户密码.getPassword();
String st3="";
for(int i=0;i<ps.length;i++)
st3+=ps[i];
if((用户名.getText().equals(st1))&&(st3.equals(st2)))
{
massage=1;
new 电信 IP资费管理 ();
app.setVisible(false);
rs.close();
stmt.close();
con.close();
break;
}
}
if(massage==0)
{
JOptionPane.showMessageDialog(this,"您输入的账号或密码有误,请重新输入!","系统提示",JOptionPane.ERROR_MESSAGE);
}
con.close();
}
catch(SQLException f){
System.out.println(f);
}
}
if(e.getSource()==清除)
{
提示.setVisible(true);
}
if(e.getSource()==退出)
System.exit(0);
if(e.getSource()==重新输入)
{
用户名.setText("");
用户密码.setText("");
提示.setVisible(false);
}
if(e.getSource()==注册)
{
new 注册 ();
app.setVisible(false);
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
{
new 登录 ();
}
}
}
--------------------编程问答-------------------- c.add(用户名)有两遍
第一个应该是c.add(用户姓名)吧?
这个“用户名”还没初始化呢就直接给add了。
不过我还从来没见过这样写程序的。。这样真的能跑起来么?
看起来很牛逼的样子,以后我也这么写试试。 --------------------编程问答--------------------
中文编程确实牛 --------------------编程问答-------------------- 居然可以用中文名称作为类名,长见识了。 --------------------编程问答-------------------- 真是长见识了 别用中文 前往别 要不有一天死都不知道是怎么死了
遇到某些地方不支持的死能烦到死! --------------------编程问答-------------------- 我还是一个菜鸟,照书抄的,呵呵,以后多多帮助啊 --------------------编程问答--------------------
中文命名,看的头大 --------------------编程问答-------------------- if(e.getSource()==登录)
这个e.getSource()返回的是撒东东 可以直接 ==比较? --------------------编程问答-------------------- 你挺强.....
补充:Java , Java SE