Hallo...
ich habe folgenden Login gebastelt:
Leider erhalte ich immer eine NullPionterException... soweit ich weiß sind die Strings "sUsername" und "sPassword" immer NULL, obwohl ich was in meine TextFields eingeben.
Weiß jemand vll. warum?
Hier meine Exception:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Login$4.actionPerformed(Login.java:132)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
ich habe folgenden Login gebastelt:
Java:
import javax.swing.JDialog;
import javax.swing.JPanel;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.event.KeyEvent;
public class Login
{
public JFrame jfLogin = null;
private JPanel jcpLogin = null;
private JButton jbCancel = null;
private JButton jbLogin = null;
public JTextField jtfUsername = null;
public JPasswordField jtfPassword = null;
String sUsername;
String sPassword;
public JDialog jdErrDialog = null;
public JPanel jcpErrDialog = null;
private JButton jbOK = null;
private JLabel jlAccessDenied = null;
private JLabel jlUsername = null;
private JLabel jlPassword = null;
public JFrame getJfLogin()
{
if (jfLogin == null)
{
jfLogin = new JFrame();
jfLogin.setSize(new Dimension(300, 211));
jfLogin.setLocationRelativeTo(null);
jfLogin.setTitle("Login - coPassivDataDictionary");
jfLogin.setContentPane(getJcpLogin());
}
return jfLogin;
}
private JPanel getJcpLogin()
{
if (jcpLogin == null)
{
jlPassword = new JLabel();
jlPassword.setBounds(new Rectangle(45, 63, 195, 12));
jlPassword.setText("Password");
jlUsername = new JLabel();
jlUsername.setBounds(new Rectangle(45, 10, 197, 13));
jlUsername.setText("Username");
jcpLogin = new JPanel();
jcpLogin.setLayout(null);
jcpLogin.add(getJbCancel(), null);
jcpLogin.add(getJbLogin(), null);
jcpLogin.add(getJtfUsername(), null);
jcpLogin.add(getJtfPassword(), null);
jcpLogin.add(jlUsername, null);
jcpLogin.add(jlPassword, null);
}
return jcpLogin;
}
private JButton getJbCancel()
{
if (jbCancel == null)
{
jbCancel = new JButton();
jbCancel.setBounds(new Rectangle(150, 134, 90, 20));
jbCancel.setText("Cancel");
jbCancel.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
System.exit(0);
}
});
}
return jbCancel;
}
public JTextField getJtfUsername()
{
if (jtfUsername == null)
{
jtfUsername = new JTextField();
jtfUsername.setBounds(new Rectangle(45, 24, 196, 30));
jtfUsername.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
sUsername = getJtfUsername().getText();
}
});
}
return jtfUsername;
}
public JPasswordField getJtfPassword()
{
if (jtfPassword == null)
{
jtfPassword = new JPasswordField();
jtfPassword.setBounds(new Rectangle(45, 76, 196, 30));
jtfPassword.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
sPassword = getJtfPassword().getSelectedText();
}
});
}
return jtfPassword;
}
public JButton getJbLogin()
{
if (jbLogin == null)
{
jbLogin = new JButton();
jbLogin.setBounds(new Rectangle(47, 134, 90, 20));
jbLogin.setText("Login");
jbLogin.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
if (sUsername.equals("bla") && sPassword.equals("keks"))
{
new MainMenu().getJfMain().setVisible(true);
getJfLogin().setVisible(false);
}
else
{
getJdErrDialog().setVisible(true);
}
}
});
}
return jbLogin;
}
public JDialog getJdErrDialog() {
if (jdErrDialog == null) {
jdErrDialog = new JDialog(getJfLogin());
jdErrDialog.setSize(new Dimension(239, 152));
jdErrDialog.setLocationRelativeTo(null);
jdErrDialog.setResizable(false);
jdErrDialog.setModal(true);
jdErrDialog.setContentPane(getJcpErrDialog());
}
return jdErrDialog;
}
public JPanel getJcpErrDialog()
{
if (jcpErrDialog == null)
{
jlAccessDenied = new JLabel();
jlAccessDenied.setBounds(new Rectangle(0, 30, 222, 26));
jlAccessDenied.setHorizontalTextPosition(SwingConstants.CENTER);
jlAccessDenied.setHorizontalAlignment(SwingConstants.CENTER);
jlAccessDenied.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
jlAccessDenied.setText("Access denied! Please try again!");
jcpErrDialog = new JPanel();
jcpErrDialog.setLayout(null);
jcpErrDialog.add(getJbOK(), null);
jcpErrDialog.add(jlAccessDenied, null);
}
return jcpErrDialog;
}
private JButton getJbOK()
{
if (jbOK == null)
{
jbOK = new JButton();
jbOK.setBounds(new Rectangle(68, 81, 90, 20));
jbOK.setText("OK");
jbOK.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
getJdErrDialog().setVisible(false);
}
});
}
return jbOK;
}
}
Leider erhalte ich immer eine NullPionterException... soweit ich weiß sind die Strings "sUsername" und "sPassword" immer NULL, obwohl ich was in meine TextFields eingeben.
Weiß jemand vll. warum?
Hier meine Exception:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Login$4.actionPerformed(Login.java:132)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Zuletzt bearbeitet: