Hallo erstmal
Ich bin zwar ganz neu hier, aber ich hoffe das hält euch nicht davon ab mir eine Hilfreiche Antwort auf meine Frage zu geben
Zuerstmal zu meinem Problem:
Ich habe mehrere Klassen angelegt, eine Klasse erzeugt bei Mouseclick verschiedene Frames die sich dann öffnen, in den jetzt neu entstandenen Frames die jewals eine eingene Klasse besitzen sind Button und ein Textfeld sowie ein Slider, mein Vorhaben ist es wenn ich auf einen der Buttons klicke das die Klasse "Ereignis" dieses Erkennt und das Frames der richtigen Klasse neu lädt
das Problem hierbei ist das wenn ich die MouseListener in den unterschiedlichen Klassen implementiere und versuche diese in der Klasse ereignis zu verknüpfen das ich eine Fehlermeldung bekomme:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Ereignis.mousePressed(Ereignis.java:45)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
.......
Die Klasse weis also nicht wo dieses ereignis hergekommen ist und kann dementsprechned nicht handeln, ich werde den redundanten Quelle code mal posten
ich hoffe jemand weiß eine Lösung
Der Fehler der mir angezeitgt wird ist in zeile 102
Ich will erstmal nur das er je nach der Quelle "Klasse" wo das ereignis her kommt mir den text ausgibt damit wäre ich schon zufrieden
--> Wenn ich die Ereignisverarbeitung aus nur einer Klasse raus mache klappt es <--
dann habe ich natürlich auch nur das ÜbergabeArgument "this" und nicht (this,null)
Wäre schön ne schnelle Antwort zu erhalten
Mfg
BecksGOld
Ich bin zwar ganz neu hier, aber ich hoffe das hält euch nicht davon ab mir eine Hilfreiche Antwort auf meine Frage zu geben
Zuerstmal zu meinem Problem:
Ich habe mehrere Klassen angelegt, eine Klasse erzeugt bei Mouseclick verschiedene Frames die sich dann öffnen, in den jetzt neu entstandenen Frames die jewals eine eingene Klasse besitzen sind Button und ein Textfeld sowie ein Slider, mein Vorhaben ist es wenn ich auf einen der Buttons klicke das die Klasse "Ereignis" dieses Erkennt und das Frames der richtigen Klasse neu lädt
das Problem hierbei ist das wenn ich die MouseListener in den unterschiedlichen Klassen implementiere und versuche diese in der Klasse ereignis zu verknüpfen das ich eine Fehlermeldung bekomme:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Ereignis.mousePressed(Ereignis.java:45)
at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
.......
Die Klasse weis also nicht wo dieses ereignis hergekommen ist und kann dementsprechned nicht handeln, ich werde den redundanten Quelle code mal posten
ich hoffe jemand weiß eine Lösung
Java:
Klasse "Kueche":
public class Kueche extends JFrame
{
JButton ein = new JButton("EIN");
JButton aus = new JButton ("AUS");
JLabel heizungeins = new JLabel(heizungan);
JLabel heizungnull = new JLabel(heizungaus);
Ereignis ereigniskueche = new Ereignis(this, null);
public Kueche()
{
setLayout(null);
ein.setBounds(180,50,70,30);
add(ein);
aus.setBounds(250,50,70,30);
add(aus);
setzen();
ein.addMouseListener(ereigniskueche);
aus.addMouseListener(ereigniskueche);
}
public void setzen(){
if (ereigniskueche.check == 1)
{
heizungeins.setBounds(215,80,70,70);
add(heizungeins);
System.out.println("Heizung ist 1 Methode setzen");
repaint();
}
if (ereigniskueche.check == 0)
{
heizungnull.setBounds(215,80,70,70);
add(heizungnull);
System.out.println("Heizung ist 0 Methode setzen");
repaint();
}
}
}
Klasse 2 "Wohnen"
public class Wohnen extends JFrame
{
JButton ein = new JButton("EIN");
JButton aus = new JButton ("AUS");
Ereignis ereigniswohnen = new Ereignis(null, this);
public Wohnen()
{
setLayout(null);
JLabel heizungeins = new JLabel(heizungan);
JLabel heizungnull = new JLabel(heizungaus);
ein.setBounds(180,50,70,30);
add(ein);
aus.setBounds(250,50,70,30);
add(aus);
ein.addMouseListener(ereigniswohnen);
aus.addMouseListener(ereigniswohnen);
}
}
und die "Ereignis" Klasse :)
public class Ereignis extends MouseAdapter {
public Kueche cooking;
public Wohnen living;
Ereignis (Kueche cooking, Wohnen living)
{
this.cooking = cooking;
this.living = living;
}
public void mousePressed(MouseEvent e)
{
Object source = e.getSource();
if (source == cooking.ein)
{
System.out.println("Heizung in Küche ist EIN");
cooking.setzen();
}
if (source == cooking.aus)
{
System.out.println("Heizung in Küche ist AUS");
cooking.setzen();
}
if (source == living.ein)
{
System.out.println("Heizung in Wohnzimmer ist EIN");
}
}
}
Der Fehler der mir angezeitgt wird ist in zeile 102
Ich will erstmal nur das er je nach der Quelle "Klasse" wo das ereignis her kommt mir den text ausgibt damit wäre ich schon zufrieden
--> Wenn ich die Ereignisverarbeitung aus nur einer Klasse raus mache klappt es <--
dann habe ich natürlich auch nur das ÜbergabeArgument "this" und nicht (this,null)
Wäre schön ne schnelle Antwort zu erhalten
Mfg
BecksGOld
Zuletzt bearbeitet: