Hallo!
Ich habe folgendes kleines Programm geschrieben!
Es ist nicht das erste mla, dass ich mit dem AL arbeite, doch diesesmal will er einfach nicht...
Obwohl alle Buttons feinsäuberlich deklariert und erzeugt wurde, gibt er folgende NullPointerException:
Dies ist mein Programmcode:
Kann jemand von euch vielleicht helfen?
Vielen Dank im Voraus!!!
VG Markus
Ich habe folgendes kleines Programm geschrieben!
Es ist nicht das erste mla, dass ich mit dem AL arbeite, doch diesesmal will er einfach nicht...
Obwohl alle Buttons feinsäuberlich deklariert und erzeugt wurde, gibt er folgende NullPointerException:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at einarmigerBandit.zaehlen(einarmigerBandit.java:77)
at einarmigerBandit.actionPerformed(einarmigerBandit.java:110)
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)
Dies ist mein Programmcode:
Java:
// Import der Bibliotheken
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// Erstellen der Kklasse
public class einarmigerBandit implements ActionListener {
// Deklarieren der einzelnen Objekte
public JFrame f;
public TextField zufallsZahl, laufendeZahl;
public JLabel titel, ausgabe;
public Font titelFont=new Font("Arial", 1, 17);
public Font felderFont=new Font("Arial", 1, 26);
public int laufendesInt, Differenz, Zufall1_100;
public boolean stoppNichtGedrueckt;
public JButton stopp, start, ende;
// Konstruktormethode öffnen
public void einarmigerBandit() {
JFrame f=new JFrame("einarmiger Bandit");
f.setSize(300, 350);
f.setVisible(true);
f.setLayout(null);
stoppNichtGedrueckt=true;
laufendesInt=1;
JLabel titel=new JLabel("einarmiger Bandit");
titel.setBounds(75, 50, 150, 50);
titel.setFont(titelFont);
f.add(titel);
JLabel ausgabe=new JLabel("x");
ausgabe.setBounds(0, 0, 150, 30);
f.add(ausgabe);
TextField eigeneZahl=new TextField();
eigeneZahl.setBounds(75, 100, 50, 35);
eigeneZahl.setEditable(false);
eigeneZahl.setFont(felderFont);
zufall();
eigeneZahl.setText(String.valueOf(Zufall1_100));
f.add(eigeneZahl);
TextField zufallsZahl=new TextField();
zufallsZahl.setBounds(175, 100, 50, 35);
zufallsZahl.setText(String.valueOf(laufendesInt));
zufallsZahl.setFont(felderFont);
zufallsZahl.setEditable(false);
f.add(zufallsZahl);
stopp=new JButton();
stopp.setText("Stopp");
stopp.setBounds(75, 160, 150, 50);
stopp.addActionListener(this);
f.add(stopp);
start=new JButton();
start.setText("Start");
start.setBounds(155, 250, 70, 30);
start.addActionListener(this);
f.add(start);
ende=new JButton();
ende.setText("Ende");
ende.setBounds(75, 250, 70, 30);
ende.addActionListener(this);
f.add(ende);
f.repaint();
}
public void zaehlen() {
if(laufendesInt==99) {
laufendesInt=1;
}
laufendesInt++;
laufendeZahl.setText(String.valueOf(laufendesInt));
System.out.println(laufendesInt);
f.validate();
f.repaint();
// try{
// Thread.sleep(100);
// } catch(Exception e) {
// System.out.println("Es konnte nicht gewartet werden!");
// }
}
public void pruefen() {
Differenz=Math.abs(Integer.valueOf(zufallsZahl.getText())-Integer.valueOf(laufendeZahl.getText()));
if(Differenz<=10) {
ausgabe.setText("Nicht schlecht!");
}
if(Differenz<=5) {
ausgabe.setText("Fast!");
}
if(Differenz==0) {
ausgabe.setText("Gewonnen!");
}
f.repaint();
}
public void zufall() {
Zufall1_100=(int)(Math.random()*100)+1;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==start) {
stoppNichtGedrueckt=true;
while(stoppNichtGedrueckt==true) {
zaehlen();
}
}else if(e.getSource()==stopp) {
stoppNichtGedrueckt=false;
pruefen();
}else if(e.getSource()==ende) {
System.exit(0);
}
System.out.println("actionPerformed Methode ausgeführt!");
}
}
Kann jemand von euch vielleicht helfen?
Vielen Dank im Voraus!!!
VG Markus