Es wird leider nur ein Listener ausgeführt.

Status
Nicht offen für weitere Antworten.

tritko1

Bekanntes Mitglied
Habe insgesamt 7 java Dateien, die voneinander erben. Hierarchie (Von Superklasse bis Subklasse): IZBPanel, AmountPanel, ShowPanel, PrintPanel, DecisionPanel. Außerdem habe ich noch eine Testclass, um die ganzen Konstruktoren aufzurufen und eine Actionclass, in denen 2 ActionListener stehen.

Der eine Listener des IZBPanels wird leider nicht ausgeführt, wieso weiß ich allerdings nicht.

Kennt Ihr denn mein Problem? Danke für eure Hilfe....



IZBPanel.java

Code:
 public class IZBPanel extends JPanel
{
	//Deklaration
	ButtonGroup group=new ButtonGroup();
	static JRadioButton blager; 
	static JRadioButton blinie;
	static JRadioButton breserve;
	
	static boolean lager=false;
	static boolean linie=false;
	static boolean reserve=false;
	
	public IZBPanel()
	{
		 	
		setLayout(null);
		JLabel abfrizbart = new JLabel ("Welche Art von IZB´s soll ausgedruckt werden?");
		abfrizbart.setBounds(10,5,300,20);
		add(abfrizbart);
	
		blager = new JRadioButton("Lager");
		blager.setBounds(50,40,80,20);								
		group.add(blager);
		
		blinie = new JRadioButton("Linie");
		blinie.setBounds(150,40,80,20);									
		group.add(blinie);
		
		JRadioButton breserve = new JRadioButton("Reserve");
		breserve.setBounds(250,40,80,20);
		group.add(breserve);
		
		add(blager);
		add(blinie);
		add(breserve);
		
		JSeparator trennzeichen=new JSeparator(SwingConstants.HORIZONTAL);
		trennzeichen.setBounds(0, 80, 400, 30);
		add(trennzeichen);
		
		//Listener
		blager.addActionListener(new ActionClass());
		blinie.addActionListener(new ActionClass());
		breserve.addActionListener(new ActionClass());
	}//end Konstruktor
		
}//endclass



ShowPanel.java

Code:
 public class ShowPanel extends AmountPanel
{
	ButtonGroup group2=new ButtonGroup();
	static JRadioButton ja;
	static JRadioButton nein;
	
	static boolean abfrageja=false;
	static boolean abfragenein=false;
	
		public ShowPanel() 
		{
			 
			//setLayout(null);
			JLabel abfrizbanzeige = new JLabel ("Sollen die IZB´s vor dem Ausdruck angezeigt werden?");
			abfrizbanzeige.setBounds(10,195,350,20);
			add(abfrizbanzeige);
	
			ja = new JRadioButton("ja");
			ja.setBounds(50,230,80,20);								
			group2.add(ja);
		
			nein = new JRadioButton("nein");
			nein.setBounds(250,230,80,20);									
			group2.add(nein);
			
			add(ja);
			add(nein);
		
			JSeparator trennzeichen=new JSeparator(SwingConstants.HORIZONTAL);
			trennzeichen.setBounds(0, 270, 400, 30);
			add(trennzeichen);
			
			//Listener
			ja.addActionListener(new ActionClass());
			nein.addActionListener(new ActionClass());
		}//endKonstruktor

}//end class



ActionClass.java

Code:
 public class ActionClass implements ActionListener
{
	public void actionPerformed (ActionEvent me)
	{
		if (me.getSource()==IZBPanel.blager)
						{
							IZBPanel.lager=true;
							//System.out.print(IZBPanel.lager);
					
						}
				
						if (me.getSource()==IZBPanel.blinie)
						{
							IZBPanel.linie=true;
						}
		
						if (me.getSource()==IZBPanel.breserve)
						{
							IZBPanel.reserve=true;
						}
						
						if (me.getSource()==ShowPanel.ja)
						{
							ShowPanel.abfrageja=true;
						}
		
						if (me.getSource()==ShowPanel.nein)
						{
							ShowPanel.abfragenein=true;
						}
	}
}



TestClass.java

Code:
 public class Testclass {

	public static void main(String[] args) 
	{
		
		JFrame f = new JFrame("Einstellungen für das Drucken der IZB´s");
		f.setBounds(0, 0, 400, 600);
		f.setResizable(false);
		f.setLocation(350, 70);
		
		IZBPanel i = new IZBPanel();
		AmountPanel a=new AmountPanel();
		ShowPanel s=new ShowPanel();
		PrinterPanel p=new PrinterPanel();
		DecisionPanel d=new DecisionPanel();
		
		f.getContentPane().add(i);
		f.getContentPane().add(a);
		f.getContentPane().add(s);
		f.getContentPane().add(p);
		f.getContentPane().add(d);
		f.setVisible(true);
	}
}
 
S

SlaterB

Gast
> Actionclass, in denen 2 ActionListener stehen.

wo sind da 2 Listener?
Actionclass ist selber ein ActionListener, aber für sich doch nur einer,
was bedeutet 2?

> Der eine Listener des IZBPanels wird leider nicht ausgeführt, wieso weiß ich allerdings nicht.

WELCHER einer? und das klingt schon wieder nach 'der eine von zweien',
dabei erzeugst du doch 3 verschiedene in IZBPanel (3x new Actionclass())?

was geht nicht?, wird keine Aktion durchgeführt?
schreibe doch mal
System.out.print("Actionclass aufgerufen");
zu Beginn von
public void actionPerformed (ActionEvent me)
in Actionclass,
erscheint diese Meldung auch nicht?

------

in Konstruktor von IZBPanel erzeugst du mit
JRadioButton breserve = new JRadioButton("Reserve");
eine neue lokale Variable breserve,
die Exemplarvariable breserve bleibt null,

schreibe
breserve = new JRadioButton("Reserve");
statt
JRadioButton breserve = new JRadioButton("Reserve");
 

tritko1

Bekanntes Mitglied
Danke für deine Aufklärung....

Also es handelt sich hier nur um einen ActionListener - es wird auch immer der ActionListener aufgerufen.

Was mein Problem ist:

Ich möchte, das sich, wenn er auf den JRadioButton blager, blinie oder breserve drückt, die Variablen lager, linie oder reserve auf true setzt.

Bei den JRadioButtons ja bzw. nein funktioniert dies, aber bei den anderen nicht. Hat dies was mit der Vererbung was zu tun, das er die Variablen immer wieder neu initialisiert?

Wie kann ich das Problem lösen, ohne das sich die Oberfläche (Frame) dabei ändert?

Danke für deine Hilfe
 
S

SlaterB

Gast
das glaube ich nicht, dass das nicht geht,
hast du den von mir angegebenen Tipp mit den System.out.println noch nicht getestet?
das glaube ich schon eher ;)

edit:
halt, die Buttons sind in statischen Variablen gespeichert,
wenn du 5 Panels erzeugst, dann werden diese Variablen ständig überschrieben,
die meisten ActionListener werden also nicht funktionieren, der letzte aber schon?

also überleg dir was anderes, was soll überhaupt passieren, willst du alle Buttons 5x haben für 5 Panel?
 

tritko1

Bekanntes Mitglied
Habe deinen Tip durchgemacht, in dem ich direkt nach actionPerformed die Ausgabe gemacht habe und es wird zweimal ausgeführt, wie es sein sollte.

Erzeuge ich fünf Panels, wenn ich in der Superklasse extends JPanel schreibe? Der letzte ActionListener übernimmt die Werte, das heißt, wenn ich einen JRadioButton (ja oder nein) anklicke, dann wird eine Variable von false auf true gesetzt.

Was anderes überlegen? Mach schon ungef. 2 Tage an diesem Problem herum, aber ich komme zu keinem Ergebnis.

Danke nochmals......
 
S

SlaterB

Gast
du hast keine Frage gestellt,
eher
'Was anderes überlegen? nun, dann mache ich mal weiter'

was möchtest du denn? das die ActionListener nur diese wenigen Aktionen durchführen?
du erstellst für jeden Button eh ein eigenen ActionListener,
dann gib dem doch im Konstruktor einen Parameter mit,
Type 1,2,3,4 oder 5,
und anhand dessen wird die Aktion ausgewählt,
 

tritko1

Bekanntes Mitglied
Ich möchte insgesamt 5 Jpanels machen und in einem Frame reinpacken. Ist das bei mir der Fall, oder habe ich nur ein JPanel? Ich habe bei der Superklasse extends JPanel gemacht und habe bei den anderen Klassen immer extensiert - immer den Vorgänger (siehe Klassenhierarchie).

Wenn ich doch dem Konstruktor Parameter mitgebe, dann hab ich doch das gleiche Problem.

Er wird mir die Variablen trotzdem überschreiben, oder verstehe ich das falsch?
 
S

SlaterB

Gast
du erzeugst 5 Panel-Objekte, mit verschiedenen Inhalt,
das sind 5 verschiede

du brauchst die Buttons ja gar nicht, du benutzt die statischen Referenzen nur zur Unterscheiden,

wenn du nun 1,2,3,4 und genauso statisch speichern würdest,
dann hättest du das gleichen Problem, ja,
deshalb mein Vorschlag, diese als Parameter an den ActionListener zu übergeben und natürlich dort lokal (nicht statisch!) zu speichern,

dann die Unterscheidung
if (meinTyp == 0) {
lager
} else if (meinTyp == 1) {
...
}

meinTyp kann von niemanden überschrieben werden
 

tritko1

Bekanntes Mitglied
Kannst du mir mal ein beispiel dafür geben?

In Bezug auf mein Programm? Oh mann, ich steh auf dem Schlauch
 
S

SlaterB

Gast
Code:
public class ActionClass implements ActionListener {
  public static final int LAGER_TYP = 0;
  public static final int LINIE_TYP = 1;
  ...

  private int typ;

   public ActionClass(int typ) {
      this.typ = typ;
   }
 
   public void actionPerformed (ActionEvent me)
   {
      if (typ == LAGER_TYP)
                  {
                     IZBPanel.lager=true;
                     //System.out.print(IZBPanel.lager);
               
                  }
      ...            
   }
} 

---------

blager.addActionListener(new ActionClass(ActionClass.LAGER_TYP));
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JMenu wird leider unterhalb! der CanvasFläche dargestellt AWT, Swing, JavaFX & SWT 5
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P paintComponent-Methode wird dauernd neu aufgerufen AWT, Swing, JavaFX & SWT 2
G JavaFX LineChart Datenpunkte Markierung wird abgeschnitten AWT, Swing, JavaFX & SWT 1
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
N €-Zeichen wird nicht akzeptiert AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
_user_q Objekt.setSelected(false), wenn es nicht mehr fokussiert wird AWT, Swing, JavaFX & SWT 2
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
DonBronson Gezeichnetes Objekt verschwindet nachdem erneut gezeichnet wird AWT, Swing, JavaFX & SWT 8
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Bild wird nicht geladen obwohl sie gefunden wird AWT, Swing, JavaFX & SWT 0
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
izoards Outlook Mail erstellen - Signatur wird nicht angezeigt. AWT, Swing, JavaFX & SWT 3
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
J Swing Komponente wird unpassend angepasst in der Größe AWT, Swing, JavaFX & SWT 35
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
S Next_Button wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 6
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
J Komponente wird manchmal falsch gezeichnet AWT, Swing, JavaFX & SWT 0
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
JMölleri Swing Image wird unscharf dargestellt AWT, Swing, JavaFX & SWT 2
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
D JavaFX Bearbeitetes Bild wird nicht gespeichert AWT, Swing, JavaFX & SWT 9
J setOnCloseRequest wird nicht ausgelöst AWT, Swing, JavaFX & SWT 3
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
B JavaFX Bei Scenen-Wechsel im primaryStage wird aktuelle Fenstergröße nicht mit übernommen AWT, Swing, JavaFX & SWT 16
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
kodela BufferStrategy wird nicht gefunden AWT, Swing, JavaFX & SWT 5
J JPanel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S ImageView wird dem Gridpane nicht zugefügt AWT, Swing, JavaFX & SWT 1
G Repaint wird nicht durchgeführt AWT, Swing, JavaFX & SWT 8
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
S Swing Panel wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 3
M Swing GUI wird nach invokeLater() langsam AWT, Swing, JavaFX & SWT 19
Bluedaishi TableView mit Combox wert wird nicht in die TableView gesetzt AWT, Swing, JavaFX & SWT 38
L JFrame wird zu klein erstellt AWT, Swing, JavaFX & SWT 7
T JavaFX Nach Zoomen wird an falscher Stelle gezeichnet AWT, Swing, JavaFX & SWT 0
kodela Swing Letzte Änderung in der Tabelle wird nicht gespeichert AWT, Swing, JavaFX & SWT 5
cool_brivk24 AWT BufferedImage wird nicht geladen AWT, Swing, JavaFX & SWT 17
S JavaFX Wird es überhaupt genutzt? AWT, Swing, JavaFX & SWT 3
FRI3ND GUI wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
J Canvas wird nicht angezeigt AWT, Swing, JavaFX & SWT 10
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
ralfb1105 Swing Wert in JTextField wird falsch ausgegeben AWT, Swing, JavaFX & SWT 2
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Aus welchen Grund wird der Button nicht angezeigt im GridPane? AWT, Swing, JavaFX & SWT 1
J MouseListener wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 4
E Swing Liste in Scrollpane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
J Controller wird zu groß, was tun ? AWT, Swing, JavaFX & SWT 5
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
T Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Aktion ausführen wenn ein JRadiobutton deselektiert wird. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel "ContentPane" wird nicht gesetzt/angezeigt AWT, Swing, JavaFX & SWT 16
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
zhermann TableView wird nicht gefüllt AWT, Swing, JavaFX & SWT 14
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
zhermann JavaFX Main App wird nicht geöffnet AWT, Swing, JavaFX & SWT 6
Naxon89 JavaFX Image wird nicht korrekt geladen AWT, Swing, JavaFX & SWT 3
4 Swing JLabel wird ,,abgehackt" AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel wird in JScollPane nicht angezeigt AWT, Swing, JavaFX & SWT 2
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
P Kein Bild wird angezeigt bei ImageIcon AWT, Swing, JavaFX & SWT 16
MaxG. JavaFX Inhalt in Tableview wird nicht angezeigt AWT, Swing, JavaFX & SWT 11
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
A Swing Tabelle wird bei Betätigung des Button nicht befüllt AWT, Swing, JavaFX & SWT 17
krgewb 2D-Grafik paint-Methode wird zu oft ausgeführt AWT, Swing, JavaFX & SWT 5
G Nur ein JPanel wird angezeigt AWT, Swing, JavaFX & SWT 9
M Swing Inhalt meines JTables wird falsch dargestellt AWT, Swing, JavaFX & SWT 8
T Default Table wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
H Musik wird nach dem erstellen der .jar Datei nicht mehr abgespielt AWT, Swing, JavaFX & SWT 1
K JavaFX Stage wird nicht angezeigt AWT, Swing, JavaFX & SWT 9
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
A Swing Bild wird nicht mehr geladen AWT, Swing, JavaFX & SWT 4
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
D iText PDF wird nach Neustart nicht importiert AWT, Swing, JavaFX & SWT 0
Thallius Wer oder was bestimmt welches Frame toFront kommt wenn ein anderes geschlossen wird? AWT, Swing, JavaFX & SWT 8
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
Z Swing Frame wird geöffnet, aber ist ohne Inhalt AWT, Swing, JavaFX & SWT 0
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
S Swing Konstruktor wird nicht rechtzeitig fertig? AWT, Swing, JavaFX & SWT 4
D JavaFX Erkennen wenn eine Anwendung geschlossen wird und etwas tun? AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Linie wird nach Mausklick nicht am richtigen Ort gezeichnet AWT, Swing, JavaFX & SWT 11
C Liste - ListView wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
N JavaFX TextArea Updaten bevor Prozess gestartet wird AWT, Swing, JavaFX & SWT 7
B HBox wird nicht im Bottom angezeigt AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben