Aufrufen von ActionListener

Status
Nicht offen für weitere Antworten.
S

Sergio

Gast
Hi @ll,

alos ich bin anfänger was java angeht. ich hab escht kein plan warum folgendes nicht richtig funktioniert...:

ich habe ein frame das zwei panels beinhaltet. auf dem ersten panel befinden sich mehrere "JComboBox"es. bei starten des programmes wird in die erste ComboBox mit daten aus einer eccess-datenbank gefullt (Bloecke). wenn man jetzt einen block aufwählt sollen in die zweite ComboBox die mit den jeweiligen block verknüpften felder reingeschrieben werden. bei der auswahl von bestimmten feldern sollen die dazugehörigen reihen in die nächste ComboBox geschrieben werden. etc.

Das Problem: wie man aus den quelltext ersehen kann werden die Methoden zur jeweiligen ComboBox angesteuert. sobald ich in der Methode für die Blockauswahl einen bezug zur BoxFeld herstelle wird komischerweise auch die Methode für die Feldauswahl ausgeführt. Ich schnall es nicht!!! es bei der auswahl der Bloecke nur die Methode BlockAuswahl und bei der auswahl der Felder nur die Methode FeldAuswahl gestartet werden...

kann mir bitte jemand helfen. Ich bin schon echt verzweift und entwickle leichte abneigungen gegen java... :( ???:L

hier teil meines quellcodes:

Code:
  [color=blue]   tp.addTab(" Auswahl ", panel);
       tp.addTab(" Fotos ", panel1);
     //}
     getContentPane().add(tp, BorderLayout.CENTER);
     //this.addWindowListener((WindowListener) new BlockAuswahl());
    
     
     this.boxBlock.addActionListener(new BlockAuswahl());
	 this.boxFeld.addActionListener(new FeldAuswahl());
   }




class FeldAuswahl
implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    {
    	System.out.println("Das sollte nur FeldAuswahl kommen!!!");
    }
}   

class BlockAuswahl
implements ActionListener
{
    public void actionPerformed(ActionEvent event)
    { 
  	  block = (String) boxBlock.getSelectedItem(); 
		 // System.out.println(block);
		  ResultSet BlockWahl, Blockwahl_id = null;
		  String felderString = "Select bezeichnung, bloecke_id from felder " +
		  		"where bloecke_id ="+
		  		"(Select id from bloecke "+
		  		"where bezeichnung = '"+block.toString()+"' and sys_delete = 'F') and sys_delete ='F'"+
		  		" group by bezeichnung, bloecke_id order by bezeichnung"; 
		  
		  String bloecke_idString =  "Select id from bloecke where bezeichnung = '"+block.toString()+"'" +
			" and sys_delete = 'F' group by bezeichnung, id";
		 
		  
		  try
			{
				sqlStatement2 = verbindung.dbVerbindung.createStatement();
				sqlStatement3 = verbindung.dbVerbindung.createStatement();
				System.out.println("Sql-Statement erzeugt...");
				System.out.println("SQL ausgefuehrt...");
				BlockWahl = sqlStatement2.executeQuery(felderString);
				Blockwahl_id = sqlStatement3.executeQuery(bloecke_idString);
				System.out.println("SQL ausgefuehrt...");
							
				int i = 0;
				int a = 0;
				
				
			    while (BlockWahl.next())
				{
				     
					FeldCombo [i] = BlockWahl.getString(1);
					i++;
				}
			    a =i;
			    boxFeld.removeAllItems();
			    for (i=0;i<a;i++)
			    {
			    	
					boxFeld.addItem(FeldCombo [i]);
			    }  
			    
			    while (Blockwahl_id.next())
				{
				 bloecke_id = Blockwahl_id.getString(1).toString();
				 System.out.println(bloecke_id);
				} 
				
				
				//System.out.println(resultSet.getString(1)+" / "+resultSet.getString(2)+" / "+resultSet.getString(3)+" / "+resultSet.getString(4)+" / "+resultSet.getString(5)+" / "+resultSet.getString(6)+" / "+resultSet.getString(7));				
							
				//addWindowListener(new WindowListener());
				//boxFeld.addItemListener(myItemListener);
				
			
			    BlockWahl.close();
				System.out.println("resultSet-Objekt zerstoert...");
				sqlStatement2.close();
				System.out.println("sqlStatementobjekt zerstoert...");
				//verbindung.verbindungsabbau();
					
			}
			catch(SQLException e)
			{
				System.out.println("Fehler beim DB-Zugriff!"+e);
				System.exit(0);
			}
    	  
    	
    }[/color]}
 

Eldaron

Aktives Mitglied
So ist das klar, wieso beide angesprochen werden. Du hast 2 ActionListener auf die ComboBox angesetzt, und wenn da was passiert, springen beide an. Du müsstest in der jeweiligen Bearbeitung des actionPerformed Deine Unterscheidung machen, ob das passende Event jetzt eingetreten ist, auf das der jeweilige AL reagieren soll.

(edit:)
Okay, nachdem ich mir mein Geschreibsel grad durchgelesen hab, und selber nich ganz wusste, was ich damit meine...

Es ist momentan so, dass durch das Ansprechen in Deinem einen ActionListener der andere ausgelöst wird, wenn Du jetzt die ActionPerformed dort genauer auswertest, kannst eventuell die, die Du nicht brauchst übergehen.
 
S

Sergio

Gast
???:L wie soll ich das denn machen? ich vermute mit if abfragen oder kann mir jemand ein beispiel dazu geben???

danke im voraus!!!
 
S

Sergio

Gast
kann mir villeicht der ItemListener weiterhelfen??? wie ich ihn reinbringe weiss ich allerdings nicht bzw. noch nicht... eclipse meldet immer weitere fehler wenn ich den itemlistener reinbringen. oder ich mach echt was falsch
 

Eldaron

Aktives Mitglied
Üblicherweise wird in actionPerformed zunächst durch Aufruf von getActionCommand und/oder getSource die Quelle des Action-Events ermittelt, bevor der Code folgt, der die Reaktion auf das Ereignis implementiert.

Also sowas wie
if(event.getSource.equals(xxx))

Laß Dir am Besten mal mit
System.out.println(event.getActionCommand())
ausgeben, was da der Befehl und die EventSource war.
 
S

Sergio

Gast
wie soll ich denn das event abfragen kann doch nicht auf jeden datensatz abfragen der in der ComboBox steht. es kann sein, dass über hundert datensaetze in der Box stehen...

was muss ich überhaupt wo einfügen damit eine methode an eine ComboBox gekoppelt werden kann. wenn ich was (egal was) in der ersten box auswähle dann soll auch wirklich nur die eine methode ausgeführt werden und keine weitere!!!

wie geht das denn bloß???

danke im voraus!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Swing Variable in Actionlistener aufrufen AWT, Swing, JavaFX & SWT 10
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
S ActionListener Klasse aufrufen AWT, Swing, JavaFX & SWT 4
spacegaier Fehler beim Aufrufen von Dialog aus ActionListener AWT, Swing, JavaFX & SWT 12
J ActionListener via KeyListener aufrufen AWT, Swing, JavaFX & SWT 2
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
L JFrame Gui in anderer Methode aufrufen AWT, Swing, JavaFX & SWT 0
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
I Zweite Scene aufrufen AWT, Swing, JavaFX & SWT 4
F FXML Datei aus dem SceneBuilder in Eclipse aufrufen AWT, Swing, JavaFX & SWT 1
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
E Swing Dialog modal aufrufen AWT, Swing, JavaFX & SWT 2
emma_louisa JavaFX Werte beim Aufrufen des Fensters übernehmen (SceneBuilder) AWT, Swing, JavaFX & SWT 3
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
Ghostman1711 GUI Java von Klasse mit Application Windows anderes Application Window aufrufen AWT, Swing, JavaFX & SWT 6
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
M JavaFX Methode nach initialize() aufrufen AWT, Swing, JavaFX & SWT 6
A paint-Methode aufrufen AWT, Swing, JavaFX & SWT 13
stylegangsta MouseEvents aus JButton aufrufen AWT, Swing, JavaFX & SWT 3
B Swing GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 4
A Swing Externe Klassen aufrufen und in einem bereits vorhandenen Container einfügen AWT, Swing, JavaFX & SWT 0
M Swing JtextField Panel in ander Panel aufrufen AWT, Swing, JavaFX & SWT 0
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
G Fragment aufrufen AWT, Swing, JavaFX & SWT 1
D SWT SWT Elemente aus anderen Klassen aufrufen - Invalid thread access AWT, Swing, JavaFX & SWT 6
M Repaint mittels Button richtig aufrufen klappt nicht AWT, Swing, JavaFX & SWT 1
H JavaFx - Als exe aufrufen AWT, Swing, JavaFX & SWT 4
vodkaz Graphics aufrufen AWT, Swing, JavaFX & SWT 4
M Gui in einer anderen Java Klasse aufrufen AWT, Swing, JavaFX & SWT 1
I Paint-Methode von nicht statischen Objekten aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Mit einem Link eine Methode aufrufen AWT, Swing, JavaFX & SWT 2
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
C Swing Durch Inhaltsänderung eines JTextfields eine Funktion aufrufen AWT, Swing, JavaFX & SWT 5
D Nächste GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 7
J Swing Nach SwingWorker Funktion aus der GUI Klasse aufrufen AWT, Swing, JavaFX & SWT 5
G JPanel aufrufen in andere Klasse AWT, Swing, JavaFX & SWT 2
G Window aus anderer Klasse aufrufen AWT, Swing, JavaFX & SWT 4
W Funktion per Tastendruck aufrufen. AWT, Swing, JavaFX & SWT 10
A Applet Applet vom Web-Server aus aufrufen AWT, Swing, JavaFX & SWT 11
Jackii 2 Frames nacheinander aufrufen AWT, Swing, JavaFX & SWT 6
J Swing JTable - nach Sortieren andere Methode aufrufen AWT, Swing, JavaFX & SWT 2
L Graphics Objekt - aus anderer Klasse aufrufen / übergeben AWT, Swing, JavaFX & SWT 5
K beim Schließen des JFrames, Methode aufrufen AWT, Swing, JavaFX & SWT 3
A Applet main class aus anderer main class aufrufen AWT, Swing, JavaFX & SWT 15
N Button on click eine andere Klasse aufrufen... AWT, Swing, JavaFX & SWT 2
C Grafik von main aus aufrufen AWT, Swing, JavaFX & SWT 13
J SWT Globale Refresh-Aktion programmtechnisch aufrufen AWT, Swing, JavaFX & SWT 6
Zettelkasten repaint() von anderen Klassen aufrufen AWT, Swing, JavaFX & SWT 4
R paintComponent direkt bei actionPerformed aufrufen AWT, Swing, JavaFX & SWT 2
3 JFrame in Klassen aufrufen AWT, Swing, JavaFX & SWT 2
F Swing JFrame Methode beim Schließen aufrufen AWT, Swing, JavaFX & SWT 5
H applet Methode aus abstrakter Klasse aufrufen AWT, Swing, JavaFX & SWT 12
S Swing Werte einer Jcheckbox aus eine Klasse A in eine Klasse B aufrufen AWT, Swing, JavaFX & SWT 6
Weiti JOptionPane aus einer von JPanel abgeleiteten Klasse aufrufen AWT, Swing, JavaFX & SWT 3
C Checkbox in Liste deaktivieren und paintComponent explizit aufrufen AWT, Swing, JavaFX & SWT 12
L AWT Paint(g) im Listener aufrufen AWT, Swing, JavaFX & SWT 2
M Swing Methode in einem Fenster aus einem anderen Fenster aufrufen AWT, Swing, JavaFX & SWT 4
X Prozess mit Runtime.getRuntime in SwingWorker aufrufen AWT, Swing, JavaFX & SWT 6
H Sub-Dialog von modalem JDialog aus aufrufen - geht das? AWT, Swing, JavaFX & SWT 6
N AWT Graphics2D mehrmals aufrufen AWT, Swing, JavaFX & SWT 5
M Main Frame schließen und neue Klasse aufrufen? AWT, Swing, JavaFX & SWT 2
I AWT paint() in MouseEvent aufrufen klappt nicht AWT, Swing, JavaFX & SWT 8
Q Swing Panel aus anderen Frame aufrufen AWT, Swing, JavaFX & SWT 2
A Aufrufen eigener Klasse AWT, Swing, JavaFX & SWT 8
M Swing JTextFeld Wert in anderer Klasse aufrufen AWT, Swing, JavaFX & SWT 13
C Einen JDialog aus einem JDialog aufrufen AWT, Swing, JavaFX & SWT 3
D Paint() Methode aus einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 6
M Button Methode aufrufen AWT, Swing, JavaFX & SWT 3
M Event händisch aufrufen AWT, Swing, JavaFX & SWT 2
S methode aufrufen beim Schließen von GUI AWT, Swing, JavaFX & SWT 7
K JDialog - Methode nach setVisible() aufrufen AWT, Swing, JavaFX & SWT 4
R Innerhalb der GUI Klasse meine neue Klasse aufrufen AWT, Swing, JavaFX & SWT 1
E Anfänger-JPanel aus Menü aufrufen AWT, Swing, JavaFX & SWT 4
G paint() Methode aus anderer klasse aufrufen? AWT, Swing, JavaFX & SWT 6
O Editor in JTable mit mouseMoved aufrufen? AWT, Swing, JavaFX & SWT 2
C WindowClosingAdapter JFrame manuell aufrufen AWT, Swing, JavaFX & SWT 6
M super.paintComponent(g); aufrufen oder nicht? AWT, Swing, JavaFX & SWT 8
H Modalen Dialog aus modalem Dialog aufrufen AWT, Swing, JavaFX & SWT 1
E Beim Schließen des Fensters eigene Funktion aufrufen AWT, Swing, JavaFX & SWT 8
R SWT: FileMenu-Eintrag soll Methode aufrufen AWT, Swing, JavaFX & SWT 2
J instanceof von einem Interface und aufrufen der Methoden AWT, Swing, JavaFX & SWT 5
M JMenuBar - JMenu mit Tastenkombination aufrufen / anzeigen AWT, Swing, JavaFX & SWT 8
L JOtionPane von Fachkonzeptklasse "aufrufen" AWT, Swing, JavaFX & SWT 2
S objekt kann methode der aufrufenden klasse nicht aufrufen AWT, Swing, JavaFX & SWT 2
G Compiler im Quellcode aufrufen? AWT, Swing, JavaFX & SWT 4
A MVC, Views aufrufen AWT, Swing, JavaFX & SWT 5
G Rechte Maustaste soll Menü aufrufen AWT, Swing, JavaFX & SWT 11
K JFrame modular aufrufen AWT, Swing, JavaFX & SWT 12
H Events manuell aufrufen AWT, Swing, JavaFX & SWT 4
S repaint bei canvas aufrufen AWT, Swing, JavaFX & SWT 7
J setSize von Panelklasse aufrufen AWT, Swing, JavaFX & SWT 9
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
B Actionlistener mit Java Swing AWT, Swing, JavaFX & SWT 2
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
H Viele ActionListener (MouseListener) - Performance AWT, Swing, JavaFX & SWT 24
pkm MainFrame durch Actionlistener auffrischen, aber wie? AWT, Swing, JavaFX & SWT 2
L actionListener für Button AWT, Swing, JavaFX & SWT 97
R Actionlistener funktioniert nicht AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben