Hallo Leute,
ich musste ein Programm erstellen mit dem man Strings aus einer Klasse in einer Queue speichern kann.
Nun wollte ich dabei aber auch eine simple GUI implementieren, mit der man die Namen der Strings übergeben und sie anschließend in der Queue (die Queue Klasse ist dabei vorgegeben) speichern kann.
Ich habe dabei ein Feld für die Texteingabe und einen Button, den man nach der Text eingabe anklickt um den String abzuspeichern.
Allerdings erhalte ich dann folgende Fehlermeldung bzw. noch ganz viele andere:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Hierbei geht es vorallem um die Actionperformed Methode.
Ich bin mir auch nicht sicher ob das so mit dem Textfield hinhaut, wie ich mir das gedacht habe.
Ich hoffe auf hilfreiche Antowrten
ich musste ein Programm erstellen mit dem man Strings aus einer Klasse in einer Queue speichern kann.
Nun wollte ich dabei aber auch eine simple GUI implementieren, mit der man die Namen der Strings übergeben und sie anschließend in der Queue (die Queue Klasse ist dabei vorgegeben) speichern kann.
Ich habe dabei ein Feld für die Texteingabe und einen Button, den man nach der Text eingabe anklickt um den String abzuspeichern.
Allerdings erhalte ich dann folgende Fehlermeldung bzw. noch ganz viele andere:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Wartezimmer implements ActionListener
{
// instance variables - replace the example below with your own
private int anzahl_patienten;
private Queue queue;
private JFrame fenster;
private JTextField patienten_name;
private JButton button1;
public Wartezimmer()
{
this.queue = new Queue();
anzahl_patienten = 0;
this.fenster = new JFrame("Wartezimmer");
fenster.setSize(500, 500);
fenster.setLocation(500, 500);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setVisible(true);
fenster.setLayout(new BorderLayout());
this.button1 = new JButton("Neuer Patient");
JButton button2 = new JButton("Nächster Patient");
JButton button3 = new JButton("Alle Patienten ausgeben und entfernen");
JTextField patienten_name = new JTextField(15);
patienten_name.setText("Name des Patienten");
patienten_name.setActionCommand("enter");
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
fenster.add(button1, BorderLayout.NORTH);
fenster.add(button2, BorderLayout.SOUTH);
fenster.add(button3, BorderLayout.CENTER);
fenster.add(patienten_name, BorderLayout.EAST);
}
public static void main(String[] args)
{
Wartezimmer g = new Wartezimmer();
}
public void actionPerformed(ActionEvent event)
{
Object objekt = event.getSource();
if(button1 == objekt)
{
String name = patienten_name.getText();
neuer_patient(name);
System.out.println(queue.front());
// System.out.println("hallo");
}
//else if(button2 == objekt)
//{
// nächster_patient();
//}
//else if(button3 == objekt)
//{
// gib_patientenliste();
//}
}
public void neuer_patient (String name)
{
queue.enqueue(name);
anzahl_patienten++;
}
public void nächster_patient ()
{
System.out.println(queue.front());
anzahl_patienten--;
queue.dequeue();
}
public void gib_patientenliste ()
{
int i = 1;
while(queue.isEmpty() == false)
{
System.out.println("Patient Nummer " + i + " Name: " + queue.front());
queue.dequeue();
i++;
anzahl_patienten = 0;
}
}
// public void erzeuge_neuen_patienten (String name)
//{
// patient patient = new patient(name);
//queue.enqueue(patient);
//}
}
Hierbei geht es vorallem um die Actionperformed Methode.
Ich bin mir auch nicht sicher ob das so mit dem Textfield hinhaut, wie ich mir das gedacht habe.
Ich hoffe auf hilfreiche Antowrten