【发布时间】:2014-07-17 20:34:52
【问题描述】:
我在运行程序时收到此消息。我该如何纠正这个错误?我通过评论标记了消息中所说的那一行!
消息:
线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 错误的符号类型:javax.swing.JPanel.add 在 login.Login.frame(Login.java:52) 在 login.Login.(Login.java:24) 在 login.Login.main(Login.java:103) 构建成功(总时间:16 秒)
还有我的代码
package login;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
public class Login
{
Connection con;
Statement st;
ResultSet rs;
JFrame f = new JFrame("User login");
JLabel l = new JLabel("Username:");
JLabel l1 = new JLabel("Password:");
JTextField t = new JTextField(10);
JTextField t1 = new JTextField(10);
JButton b = new JButton("login");
public Login()
{
connect();
frame(); //this line:at login.Login.<init>(Login.java:24)//
}
public void connect()
{
try
{
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(driver);
String db = "jdbc:odbc:login";
con = DriverManager.getConnection(db);
st = con.createStatement();
}
catch(Exception ex)
{
}
}
public void frame()
{
f.setSize(600,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
JPanel p = new JPanel();
p.add(1);//this line:at login.Login.frame(Login.java:52)//
p.add(t);
p.add(11);
p.add(t1);
p.add(b);
f.add(p);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
String user = t.getText().trim();
String pass = t1.getText().trim();
String sql = "select user,pass from login where user = '"+user+"'and pass = '"+pass+"'";
rs = st.executeQuery(sql);
int count = 0;
while(rs.next())
{
count = count + 1;
}
if(count == 1)
{
JOptionPane.showMessageDialog(null,"User Found,Access Generated!");
}
else if(count > 1)
{
JOptionPane.showMessageDialog(null, "Duplicate User,Access Denied!");
}
else
{
JOptionPane.showMessageDialog(null,"User not Found");
}
}
catch(Exception ex)
{
}
}
});
}
public static void main(String[] arg)
{
new Login(); //this line:at login.Login.main(Login.java:103)//``
}
}
【问题讨论】:
-
不要尝试运行不可编译的代码。当您尝试编译程序时,您看到了哪些错误?
-
我看到这条消息:线程“main”中的异常 java.lang.RuntimeException:无法编译的源代码 - 错误的符号类型:javax.swing.JPanel.add at login.Login.frame(Login.java :52) 在 login.Login.(Login.java:24) 在 login.Login.main(Login.java:103) 构建成功(总时间:16 秒)