SWT NullPointerException

Colt45

Aktives Mitglied
Mahlzeit!
Ich mach gerade für meine Mitbewohnerin ein Studienprojekt und stehe vor folgendem Problem:
Es geht um ein Programm, dass verschiedene Buttons mit Getränken hat und beim klicken eines Buttons soll der Preis in ein Textfeld geschrieben werden.
Hier die Klasse Getränk:
Java:
public class Getraenk 
{
	
	// Definition der Variablen für die public-Methode Getraenk
	private String bezeichnung;
	private long getraenkNr;
	private double einkaufspreis;
	private double verkaufspreis;
	private double volumen;
	private int anzahl;
	private Abfueller abfueller;
	private int id;
	
	//Konstruktor
	public Getraenk(String be, long nr, double ekp, double vkp, double vo,int anz, Abfueller ab, int id) {
		bezeichnung = be;
		getraenkNr = nr;
		einkaufspreis = ekp;
		verkaufspreis = vkp;
		volumen = vo;
		anzahl=anz;
		abfueller = ab;
		this.id = id;
		abfueller.fuegeGetraenkHinzu(this);
	}
	
	// Diese Methode gibt den String "Bezeichnung" zurück
	public String getBezeichnung() {
		return bezeichnung;
	}
	
	//Abfüller für Button ausgeben
	public Abfueller getAbfueller() { 
		return abfueller;
	}
	
	// Diese Methode gibt den double-Wert Verkaufspreis aus
	public double getVerkaufspreis() {
		return verkaufspreis;
	}
	
	//Mit dieser Methode gibt den int-Wert Anzahl aus
	public int getAnzahl() {
		return anzahl;
	}
	public int getID()
	{
		return id;
	}
}

In der Klasse Bestellfenster werden verschiedene Getränke definiert und in eine ArrayList gespeichert.

Java:
public class Bestellfenster {
	// GUI-Elemente: Objekte von SWT-Klassen
	private Shell fenster = null; // Shell= Hauptfenster
	private Display bildschirm = null; // Bildschirm=Display; NULL = kein Wert
										// festegelegt
	private Combo tischAuswahl; // als Kombinationsfeld
	private Text summe;// als Text-Eingabefeld
	private Text bargegeben;// als Text-Eingabefeld
	private Text rückgeld; // als Text-Eingabefeld
	private ArrayList<Getraenk> getraenkeliste;
	private Label label;// Label=Beschriftung
	private GridData data;

	private Getraenk drink;
	
	public Bestellfenster() 
	{ // Anwendungsfenster
		bildschirm = new Display();
		fenster = new Shell(bildschirm);
		fenster.setText("Getränkbestellung");
		fenster.setSize(400, 400);
		fenster.setLayout(new GridLayout(2, false));
		// fenster.setBackgroundImage(new Image(bildschirm,"./ Imagename.jpg"));
		getraenkeliste = new ArrayList<Getraenk>(); // erzeugen einen neuen
													// Arraylist mit
													// Getränke-Elementen

		// Liste mit Getränken:
		Getraenk a = new Getraenk("Oxx", 4711, 1.10, 1.70, 0.33, 200,
				new Abfueller("GoldOchsen", 2345, "Bahnhofstraße", 15, 73337,
						"Ochsenhausen", "Deutschland"), 0);
		Getraenk b = new Getraenk("Evian", 4716, 1.00, 1.50, 0.33, 200,
				new Abfueller("Pepsi-Industries", 2345, "Bahnhofstraße", 16,
						73336, "Bad Erbach", "Deutschland"), 1);
		Getraenk c = new Getraenk("Cola", 4712, 0.80, 1.20, 0.3, 300,
				new Abfueller("Pepsi-Industries", 2345, "Bahnhofstraße", 16,
						73336, "Bad Erbach", "Deutschland"), 2);
		Getraenk d = new Getraenk("Fanta", 4713, 0.70, 1.10, 0.3, 300,
				new Abfueller("Pepsi-Industries", 2345, "Bahnhofstraße", 16,
						73336, "Bad Erbach", "Deutschland"), 3);
		Getraenk e = new Getraenk("RedBull", 4714, 1.20, 1.90, 0.3, 250,
				new Abfueller("Pepsi-Industries", 2345, "Bahnhofstraße", 16,
						73336, "Bad Erbach", "Deutschland"), 4);
		Getraenk f = new Getraenk("Bionade", 4715, 1.20, 1.90, 0.3, 150,
				new Abfueller("Pepsi-Industries", 2345, "Bahnhofstraße", 16,
						73336, "Bad Erbach", "Deutschland"), 5);
		Getraenk g = new Getraenk("Chardonnaye", 4717, 1.90, 2.50, 0.25, 200,
				new Abfueller("Constance-Wine", 2399, "Weingasse", 16, 78462,
						"Konstanz", "Deutschland"), 6);
		Getraenk h = new Getraenk("Merlot", 4718, 1.90, 2.50, 0.25, 200,
				new Abfueller("Constance-Wine", 2399, "Weingasse", 16, 78462,
						"Konstanz", "Deutschland"), 7);
		Getraenk i = new Getraenk("JimBeam", 4719, 1.90, 2.50, 0.175, 250,
				new Abfueller("Aldi-Süd", 2457, "Alberstraße", 22, 89345,
						"Metzingen", "Deutschland"), 8);
		Getraenk j = new Getraenk("Tequila", 4720, 1.90, 2.50, 0.175, 400,
				new Abfueller("Aldi-Süd", 2457, "Alberstraße", 22, 89345,
						"Metzingen", "Deutschland"), 9);
		Getraenk k = new Getraenk("Vodka-O", 4721, 1.90, 2.50, 0.5, 350,
				new Abfueller("Aldi-Süd", 2457, "Alberstraße", 22, 89345,
						"Metzingen", "Deutschland"), 10);
		Getraenk l = new Getraenk("Mojito", 4722, 1.90, 2.50, 0.5, 350,
				new Abfueller("Aldi-Süd", 2457, "Alberstraße", 22, 89345,
						"Metzingen", "Deutschland"), 11);

		// Getränke werden der Arraylist mit der Methode add hinten angefügt:
		getraenkeliste.add(a);
		getraenkeliste.add(b);
		getraenkeliste.add(c);
		getraenkeliste.add(d);
		getraenkeliste.add(e);
		getraenkeliste.add(f);
		getraenkeliste.add(g);
		getraenkeliste.add(h);
		getraenkeliste.add(i);
		getraenkeliste.add(j);
		getraenkeliste.add(k);
		getraenkeliste.add(l);
}
}
Die Buttons zu den Getränken werden in Bestellfenster dynamisch generiert:
Java:
	public void erstelleButton() {
		GridData data1 = new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1);
		// feste Breite des Steuerelements Tisch Combo
		data1.widthHint = 150;
		data1.heightHint = 30; // definiert die Höhe der Button
		
		for (int n = 0; n < getraenkeliste.size(); n++) 
		{
			Button getraenk = new Button(fenster, SWT.PUSH);
			getraenk.setText(getraenkeliste.get(n).getBezeichnung());
			getraenk.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true,	false, 1, 1));
			getraenk.setLayoutData(data1);
			getraenk.addSelectionListener(new ButtonAdapter(this));
		}
	}
Nun habe ich in Bestellfenster eine Methode schreibeSumme(); implementiert, die den Verkaufspreis eines Getränks auslesen soll und in das TextFeld schreiben soll:
Java:
	public void schreibeSumme()
	{
		double sum = Double.parseDouble(summe.getText());
		double price = drink.getVerkaufspreis();
		sum = sum + price;
		summe.setText("" + sum);
	}
diese MEthode wird in der Klasse ButtonAdapter auch richtig aufgerufen, ich bekomme aber immer eine NullPointerException.
Weiß jemand Rat?

PS: Bin in SWT so gar nicht fit und bin auch empört darüber, dass so etwas noch gelehrt wird.
 
S

SlaterB

Gast
summe ist null oder drink ist null? zu deren Definition sagst du nicht,

falls es eine gute init()-Methode gibt, dann wird die Summierung vielleicht in einem zweiten BestellFenster-Objekt ausgeführt, wo nichts initialisiert wurde?

-----

wie wärs übrigens damit, jeden Abfüller nur einmal zu definieren und an die verschiedenen Getraenk-Objekte zu übergeben?

Abfüller aldi = ..;
new GetraenK(aldi, ..);
new GetraenK(aldi, ..);
new GetraenK(aldi, ..);
 
G

Gast2

Gast
Ja Plain SWT find ich auch net so toll, finde man sollte JFace mitnutzen, weil sonst ist SWT in manchen Sachen schon schwer zu nutzen...
 

Sonecc

Gesperrter Benutzer
Sicher, JFace bietet einige nette Features, aber dennoch ist an SWT meiner Meinung nach nicht genug auszusetzen, so dass man eine solche Aussage treffen könnte. SWT ist keinesfalls veraltet (im Gegenteil aktueller als Swing oder AWT) und sonst sehe ich ebenfalls keine Grundlage für eine solche Aussage.
 

Sonecc

Gesperrter Benutzer
Ansichtssache. JFace als ein Allheilmittel darstellen sehe ich als zu krass an. Es sind nette Features aber mehr nicht. Man kann gut ohne diese Features auskommen, auch gut ohne die Viewer. Das dank JFace die Arbeit mit SWT einfacher wird, ist zwar richtig, deswegen SWT abzuwerten geht aber zu weit.
Es ist und bleibt so, dass JFace eine Erweiterung von SWT darstellt und SWT auch ohne sehr gut nutzbar ist.
 
G

Gast2

Gast
Ansichtssache. JFace als ein Allheilmittel darstellen sehe ich als zu krass an. Es sind nette Features aber mehr nicht. Man kann gut ohne diese Features auskommen, auch gut ohne die Viewer. Das dank JFace die Arbeit mit SWT einfacher wird, ist zwar richtig, deswegen SWT abzuwerten geht aber zu weit.
Es ist und bleibt so, dass JFace eine Erweiterung von SWT darstellt und SWT auch ohne sehr gut nutzbar ist.

Wie gesagt ohne finde ich es nicht zu gebrauchen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Objekte vom MainController in anderen Controller verwenden und andersherum (NullPointerException) AWT, Swing, JavaFX & SWT 14
Jose05 Nullpointerexception bei toArray() AWT, Swing, JavaFX & SWT 9
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Nullpointerexception wegen TableView AWT, Swing, JavaFX & SWT 2
ZH1896ZH JavaFX kann NullPointerException nicht auflösen... :( AWT, Swing, JavaFX & SWT 3
M NullPointerException / Controller AWT, Swing, JavaFX & SWT 4
R Swing Java9 NullPointerException bei JComboBox AWT, Swing, JavaFX & SWT 13
L java.lang.NullPointerException - Fehlermeldung AWT, Swing, JavaFX & SWT 2
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
D NullPointerException observableList AWT, Swing, JavaFX & SWT 4
J NullPointerException bei getText() AWT, Swing, JavaFX & SWT 3
S JavaFX NullPointerException bei Versuch ImageView zu ändern AWT, Swing, JavaFX & SWT 1
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
T Swing NullPointerException beim auslesen von jTextField - Anfänger! AWT, Swing, JavaFX & SWT 3
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
G Swing NullPointerException und JXImageView AWT, Swing, JavaFX & SWT 4
L exception in thread awt-eventqueue-0 java.lang.nullpointerexception AWT, Swing, JavaFX & SWT 2
U Swing NullPointerException trotz Referenz auf Textfield & Button AWT, Swing, JavaFX & SWT 6
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
G JavaFX NullPointerException bei Zugriff auf FXML Element AWT, Swing, JavaFX & SWT 0
K JavaFX Pfad öffen NullPointerException AWT, Swing, JavaFX & SWT 4
H SWT NullPointerException bei Zugriff auf Variablen des Hauptfensters AWT, Swing, JavaFX & SWT 6
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
J JTable verursacht NullPointerException.Ratlos. AWT, Swing, JavaFX & SWT 5
C JButton NullPointerException AWT, Swing, JavaFX & SWT 2
Q getGraphics() - NullPointerException AWT, Swing, JavaFX & SWT 8
C NullPointerException im MVC Muster AWT, Swing, JavaFX & SWT 9
V Nullpointerexception (etwas mit thread und jframe) AWT, Swing, JavaFX & SWT 3
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
M Exception in thread "Thread-3" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 18
C Swing NullPointerException beim Hinzufügen von Checkboxes in eine ArrayList AWT, Swing, JavaFX & SWT 5
1 JComponent -> java.lang.NullPointerException AWT, Swing, JavaFX & SWT 13
B Swing NullPointerException bei actionPerformed() AWT, Swing, JavaFX & SWT 2
E java.lang.NullPointerException AWT, Swing, JavaFX & SWT 14
R NullPointerException AWT, Swing, JavaFX & SWT 16
xehpuk Swing NullPointerException: Random-Instanz anfangs nicht initialisiert AWT, Swing, JavaFX & SWT 4
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
X NullPointerException beim Einfügen einer JMenuBar AWT, Swing, JavaFX & SWT 4
B NullPointerException bei JFrame AWT, Swing, JavaFX & SWT 2
D JPanel / NullPointerException AWT, Swing, JavaFX & SWT 4
G LookAndFeel Dynamisches Einlesen von LookAndFeels - NullPointerException AWT, Swing, JavaFX & SWT 4
E Login wird durch NullPointerException abgebrochen AWT, Swing, JavaFX & SWT 10
K NullPointerException ohne CodeLink AWT, Swing, JavaFX & SWT 6
L NullPointerException JFreeChart AWT, Swing, JavaFX & SWT 10
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
martinyyyy AWT Parameter erzeugen NullpointerException obwohl sie vorhanden sind? AWT, Swing, JavaFX & SWT 4
H Swing NullPointerException in JTable bei vielen Einträgen AWT, Swing, JavaFX & SWT 2
S Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 7
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
X JList Probleme mit NullPointerException AWT, Swing, JavaFX & SWT 3
S NullPointerException bei Aufruf von updateUI() beim JFrame AWT, Swing, JavaFX & SWT 12
Z NullPointerException bei SplashScreen AWT, Swing, JavaFX & SWT 5
C NullPointerException bei Doppelpufferung AWT, Swing, JavaFX & SWT 3
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
K NullPointerException bei JTextField AWT, Swing, JavaFX & SWT 8
L Problem mit "NullPointerException" bei grafischer AWT, Swing, JavaFX & SWT 3
D bei Thread in JComponent malen NullPointerException AWT, Swing, JavaFX & SWT 3
loadbrain JTextFields & java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
F JProgressBar und NullPointerException AWT, Swing, JavaFX & SWT 4
D javax.swing.Timer bringt NullPointerException AWT, Swing, JavaFX & SWT 4
R TextField bringt NullPointerException bei setVisible() AWT, Swing, JavaFX & SWT 12
A NullPointerException in einer JList AWT, Swing, JavaFX & SWT 7
F Fehler: java.lang.NullPointerException AWT, Swing, JavaFX & SWT 2
S Brauche Hilfe mit JFrame - NullPointerException AWT, Swing, JavaFX & SWT 7
A NullPointerException - warum? AWT, Swing, JavaFX & SWT 5
G NullPointerException bei Aufruf von JTabbedPane.getSelectedI AWT, Swing, JavaFX & SWT 7
G Problem mit NullPointerException AWT, Swing, JavaFX & SWT 11
M JTable verursacht NullPointerException AWT, Swing, JavaFX & SWT 8
M NullPointerException AWT, Swing, JavaFX & SWT 3
J NullPointerException bei getSelectedItem AWT, Swing, JavaFX & SWT 10
G Bekomme immer: NullPointerException AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben