package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import view.DengluWindow;
import view.VoteWindow;
import model.AllWin;
public class OKButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//创建“VoteWindow窗体”
//AllWin.voteWindow=new VoteWindow("这是投票的窗体!","tubiao.jpg","beijing.jpg");
String name=DengluWindow.userField.getText();
String mima=DengluWindow.passwordField.getText();
Connection con1;
Statement st;
ResultSet rs;
if(name.equals("")||mima.equals(""))//如果没输用户名或密码,则提示对不起,请输入用户名或密码
{
JOptionPane.showOptionDialog(null,"Error:用户名或者密码不能为空!","警告提示!", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,null,null);
}
else//如果都有数据了就开始连接数据库验证
{
try
{
// 加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//建立连接
con1=(Connection) DriverManager.getConnection("jdbc:mysql://localhost/user","root","520520");
st=(Statement) con1.createStatement();
rs=((java.sql.Statement) st).executeQuery("select * from tb_user where username='"+name+"'");
if(rs.next())//如果存在,就验证密码
{
if(rs.getString("pwd").equals(mima))//如果密码正确就提示,反之
{
//隐藏登录窗体
AllWin.dengluWindow.setVisible(false);
AllWin.dengluWindow.validate();
//创建“VoteWindow窗体”
AllWin.voteWindow=new VoteWindow("这是投票的窗体!","tubiao.jpg","beijing.jpg");
}
else
{
JOptionPane.showOptionDialog(null,"Error:密码错误!","警告提示!", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,null,null);
}
}
else//如果没有查找到用户名就提示
{
JOptionPane.showOptionDialog(null,"Error:没有此用户名!","警告提示!", JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE,null,null,null);
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at controller.OKButtonListener.actionPerformed(OKButtonListener.java:26)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
就是有两个窗体,登陆和投票,登陆时有用户名和密码,点击提交按钮就进入到投票窗体。按钮有监听,就是这个监听有问题。我在数据库里建立了一张用户表,只要符合表里的用户名和密码就能登陆进入投票窗体。
添加回答
举报
0/150
提交
取消