Hi All
Ich habe einen Passworgenerator geschrieben der auch funktioniert. Gestern Abend kam mir dann die Idee eine Benutzeroberfläche zu erstellen also das man Fenster hat usw. ;D. Habe ein Java Buch wo alles ziemlich gut erklärt war und heute das Programm geschrieben, welches allerdings nicht funktioniert. Ich finde schon nach langem Suchen den Fehler nicht. Hoffe ihr könnt mir helfen und das möglichst einfach erklären falls es was zu erklären
lG!
Problem ist dass wenn ich eine Zahl eingegeben habe und auf den Knopf drück das Programm abstürzt und folgendes wird ausgegeben, falls das hilf:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Knopf1.actionPerformed(PwGenerator.java:39)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Ich habe einen Passworgenerator geschrieben der auch funktioniert. Gestern Abend kam mir dann die Idee eine Benutzeroberfläche zu erstellen also das man Fenster hat usw. ;D. Habe ein Java Buch wo alles ziemlich gut erklärt war und heute das Programm geschrieben, welches allerdings nicht funktioniert. Ich finde schon nach langem Suchen den Fehler nicht. Hoffe ihr könnt mir helfen und das möglichst einfach erklären falls es was zu erklären
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class PwGenerator
{
public static void main (String[] args)
{
JFrame frame1 = new JFrame("Passwortgenerator");
JLabel label1 = new JLabel("Anzahl der Zeichen des Passworts");
JTextField tf1 = new JTextField("Hier eintragen!");
JButton button1 = new JButton("Generieren");
button1.addActionListener(new Knopf1());
frame1.setLayout (new FlowLayout());
frame1.setSize(400,200);
frame1.add (label1);
frame1.add (tf1);
frame1.add (button1);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setVisible(true);
}
}
class Knopf1 implements ActionListener
{
private JTextField tf1;
public void actionPerformed(ActionEvent action)
{
String anzahl = tf1.getText();
int zeichen = new Integer(anzahl);
Random rand = new Random();
String eZeichen = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
String passwort = "";
int a = zeichen;
char b;
while(a > 0)
{
b = eZeichen.charAt(rand.nextInt(eZeichen.length()));
passwort = passwort + b;
a = a-1;
}
tf1.setText("" + passwort);
}
}
Problem ist dass wenn ich eine Zahl eingegeben habe und auf den Knopf drück das Programm abstürzt und folgendes wird ausgegeben, falls das hilf:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Knopf1.actionPerformed(PwGenerator.java:39)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)