Kein Event bei Click auf JComboBox

Status
Nicht offen für weitere Antworten.

Shulyn

Bekanntes Mitglied
Tag zusammen,

Ich habe ein Problem mit einer ComboBox..
Zuvor kurz ein anriss wofür ich es benötige.

Ich bin dabei einen Tastatur und Mausrecorder mit Java umzusetzen der auf eine andere Anwendung zugeschnitten ist. So das ich unter anderem spezielle funktionen der Anwendung im Recorder erfassen kann, um sie Später gezielt auszuführen.
Vergleichsbeispiel : Das Drucken in Word NICHT via Maus klick da hin, klick dann da hin und er druck. Sonder direkt den befehl/Event der auf dem Drucken Button liegt ausführen...

Um dies zu realisieren Habe ich eine Extra Buttonleiste (JPannel) und dort unter anderem eine JComboBox. Mein Problem ist, das ich den 1. Klick in die ComboBox ingnorieren kann, jedoch den 2. ,der zur auswahl auf der nach dem 1. Klick erscheinenden Liste benötigt wird, nicht.

Ich denke mein Problem ist, das ich nur den Event "ComboBox_Changed" bekommen. Und dieser erst auftritt wenn etwas ausgewählt wurde.

So hier die Frage : Kann ich die JComboBox anweisen einen Event zu erzeugen wenn sie "geklickt" wird? Oder fällt euch spontan eine andere idee ein wie der 2. Klick ignoriert werden kann?

Meine umsetzung wie ich den 1. Maus klick Ignoriere :
Java:
private boolean isToolbarClickt(AWTEvent event) {
        boolean b = false;

        Object source = event.getSource();
        Component comp = (Component) event.getSource();
        Object parent = comp.getParent();
        
        if (source instanceof JButton) {

            List<String> list = Enum.getValues();
            String name = ((JButton) source).getName();
            b = list.contains(name);
        }
        if (parent instanceof JComboBox) {
            List<String> list = Enum.getValues();
            String name = ((JComboBox) parent).getName();
            b = list.contains(name);
        }
        else if (source instanceof JCheckBox) {
            List<String> list = Enum.getValues();
            String name = ((JCheckBox) source).getName();
            b = list.contains(name);
        }
        return b;
    }

In dem Enum stehen die Werte auf die ich Prüfe. Da nur bei Clicks in meine Toolbar diese nicht aufgezeichnet werden sollen...
Ein Problem das ich sehe ist, das wenn sie das Menü der ComboBox öffnet dies über meine eigentliche Toolbar hinausragt...

Shu!
 
G

Gonzo17

Gast
Vergleichsbeispiel : Das Drucken in Word NICHT via Maus klick da hin, klick dann da hin und er druck. Sonder direkt den befehl/Event der auf dem Drucken Button liegt ausführen...

Das verstehe ich nicht. Wenn du auf nen Button klickst, dann wird immer direkt der Befehl ausgeführt, der "auf ihm liegt". Normalerweise haste nen Button-Listener und bei dem entsprechenden Event, beispielsweise nem einfachen Klick auf den Button, passiert dann irgendwas. Oder meinst du was andres?


Und da sind mir noch ein paar "unschöne" Dinge aufgefallen. "isToolbarClickt" ist kein englisch, wenn dann "isToolbarClicked". Und warum denn folgendes:
Java:
        Object source = event.getSource();
        Component comp = (Component) event.getSource();

Entweder es ist ne Component, dann brauchste die erste Zeile nicht, oder es ist keine, dann kriegste in der zweiten Zeile ne Exception. Aber beide Zeilen brauchst du nicht. Würde tippen, dass die erste Zeile nutzlos ist.
 

Shulyn

Bekanntes Mitglied
Das verstehe ich nicht. Wenn du auf nen Button klickst, dann wird immer direkt der Befehl ausgeführt, der "auf ihm liegt". Normalerweise haste nen Button-Listener und bei dem entsprechenden Event, beispielsweise nem einfachen Klick auf den Button, passiert dann irgendwas. Oder meinst du was andres?
Ok schlecht von mir erklärt... Also mein Recorder zeichnet auf wie DU mit der Maus auf den Button Drucken drückst. Dann Druckt der Drucker.
Im hintergrund, entnimmt der Recorder dem Event MAUS_CLICKED die xy coordinaten des Buttons, hohlt sich den Button und liest aus welche Action dahinter liegt.
Wenn DU jetzt den Record wieder ablaufen lässt, dann löst der Recorder die Action die er sich vorrher gehohlt hat aus.

Und da sind mir noch ein paar "unschöne" Dinge aufgefallen. "isToolbarClickt" ist kein englisch, wenn dann "isToolbarClicked". Und warum denn folgendes:
Das kommt daher das ich den Namen verändert habe, sowie ein parr zeilen entfernt habe. Da ich nicht die completten quelltexte veröffentlichen möchte. Sondern nur das wesentliche.

Entweder es ist ne Component, dann brauchste die erste Zeile nicht, oder es ist keine, dann kriegste in der zweiten Zeile ne Exception. Aber beide Zeilen brauchst du nicht. Würde tippen, dass die erste Zeile nutzlos ist.

Hmm stimmt. Aber eine Exception bekomme ich nicht....
Achso für die Überprüfung auf Button reicht mir ein .getsource
Bei der Überprüfung auf die ComboBoX geht das leider nicht, dort muss ich mir die Source in eine Componente wrappen um mir den parent zu hohlen. Den nur über diesen kann ich InstanzOfJComboBox anwenden.

Ich werde mal testen die 1. Zeile zu entfernen.
 
Zuletzt bearbeitet:

Shulyn

Bekanntes Mitglied
So Erledigt.
Ich habe meinen Recorder abgeändert, die "Events" werden nicht mehr Sofort in den Aufzeichnungsbereich geschrieben, sondern erst wenn der nächste Event kommt. Oder ich ihn anweise.
So mache ich es jetzt, das ich den überflüssigen Event nicht in den Recorder schreibe, sondern lösche.
So wird er nicht mehr mit aufgezeichnet...

ist keine super lösung, aber es geht. Und Laufzeitorientiert muss der Recorder ja nicht sein ;)

MfG

Shu!
 
G

Gonzo17

Gast
So 100%ig weiss ich jetzt nicht, wie du das umsetzen möchtest, aber ich verstehe, was dein Programm können soll. Ich schätze du willst sowas machen wie iMacros für Firefox, bloß eben in Java, oder?

Hmm stimmt. Aber eine Exception bekomme ich nicht....

Bekommste ja auch nur, wenn dein Objekt keine Component ist. Aber da es eine ist, kriegste natürlich keine Exception. Und in dem Fall ist die erste Zeile unnötig. ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
M intelliJ auf neuem PC, plötzlich kein Code Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
Nina Pohl Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist Java Basics - Anfänger-Themen 6
M Kein Shortcut? Java Basics - Anfänger-Themen 7
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
GermanPie Fehler in Putty (kein Hauptmanifestattribut, in jar) Java Basics - Anfänger-Themen 4
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
D kein hauptmanifestattribut in dateiname.jar Java Basics - Anfänger-Themen 14
X Methode bei mehrfachen Aufruf kein Effekt Java Basics - Anfänger-Themen 3
Z Warum kein Dreieck aus Sternen? Java Basics - Anfänger-Themen 9
T In C:\java\bin wird kein javac angezeigt. Java Basics - Anfänger-Themen 1
B Wieso gibt das Programm in der Console kein Ergebnis aus? Java Basics - Anfänger-Themen 2
N kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 1
I Shutdown wenn kein Strom verfügbar Java Basics - Anfänger-Themen 4
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
X Best Practice SUCHE ein gutes Javabuch! (kein Anfang von 0) Java Basics - Anfänger-Themen 5
N Input/Output Wenn kein Input, dann Fehler anzeigen lassen im JFrame Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
T Objektorientierte Programmierung - Kein Plan wieso das nicht funktioniert! Java Basics - Anfänger-Themen 6
B Compiler-Fehler 86:11: error: ';' expected obwohl kein ";" hingehört! Java Basics - Anfänger-Themen 10
T Compiler-Fehler Methode ist Abstrakt obwohl kein Schlüsselwort gesetzt wurde Java Basics - Anfänger-Themen 5
V Kann kein Java Projekt mehr mit Eclipse erstellen Java Basics - Anfänger-Themen 5
Joew0815 Methoden Objekt als Methoden-Parameter - Kein call-by-reference? Java Basics - Anfänger-Themen 12
J Warum kein new ? Java Basics - Anfänger-Themen 10
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
C Klassen Wieso kein infiniter Regress? Java Basics - Anfänger-Themen 4
N Kein Zugriff auf Ordner -> NullPointerException Java Basics - Anfänger-Themen 2
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
X Fehler beim Öffnen von Jar Datei: "kein Hauptmanifestattribut" Java Basics - Anfänger-Themen 5
D Classpath Kein Zugriff Java Basics - Anfänger-Themen 9
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
K Warum ist ein Singleton kein Best Practise? Java Basics - Anfänger-Themen 3
J ResultSet.getStrin - doch kein String? oder wo liegt das Problem? Java Basics - Anfänger-Themen 3
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
G Generics kein Zugriff auf getter eines Objekts Java Basics - Anfänger-Themen 4
M In Netbeans kein Problem, im Terminal schon Java Basics - Anfänger-Themen 3
E Kein Rechtzeitiger Abbruch bei Rekursiverfunktion Java Basics - Anfänger-Themen 8
C Stringeingabe: kein Satz wegen Leerzeichen möglich Java Basics - Anfänger-Themen 3
I Warum kein this in Methode Java Basics - Anfänger-Themen 17
V Kein neuer Thread trotz Runnable Java Basics - Anfänger-Themen 4
H Erste Schritte Kein Zugriff auf einen button der ein Ereignis ausgelöst hat Java Basics - Anfänger-Themen 2
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
K SWT Fehler obwohl kein SWT benutzt wird Java Basics - Anfänger-Themen 4
L String: Objekt und doch kein Objekt? Java Basics - Anfänger-Themen 5
J Warum kein return wert? Java Basics - Anfänger-Themen 10
S kein sound? Java Basics - Anfänger-Themen 3
T JTextPane - setText kein kein neuladen der Bilder? Java Basics - Anfänger-Themen 8
L Kein System.out Java Basics - Anfänger-Themen 14
T Warum öffnet sich kein Fenster? Java Basics - Anfänger-Themen 3
c_sidi90 jTextarea kein Zeilenumbruch erlauben Java Basics - Anfänger-Themen 4
M Kein Sound in der .jar, davor schon Java Basics - Anfänger-Themen 6
alderwaran closed source jar, kein javadoc. was macht methode x eigentlich? ( oracle forms pjc beans ) Java Basics - Anfänger-Themen 2
K Arrays - Komma zu viel, kein Problem? Java Basics - Anfänger-Themen 3
G erweiterte for schleife kein new? Java Basics - Anfänger-Themen 4
I Kein Zugriff auf erstelltes Objekt aus anderer Methode Java Basics - Anfänger-Themen 6
C warum liefert equals kein TRUE Java Basics - Anfänger-Themen 12
T meinThread.wait(); wirft immer Exeption & hat kein Effekt Java Basics - Anfänger-Themen 15
Houly kein bild im JFrame bei Mp3 Wiedergabe Java Basics - Anfänger-Themen 5
T Jar-Archive kein System.out.println()?? Java Basics - Anfänger-Themen 5
W "Kein korrekter Schleifendurchlauf" Java Basics - Anfänger-Themen 3
radiac Wieso bekomme ich kein Bild drauf??? Java Basics - Anfänger-Themen 13
W peinliches Problem - Kein Konstruktor? Java Basics - Anfänger-Themen 10
Spot84 kein interface iEditorInput Java Basics - Anfänger-Themen 2
Kasoki Compilen von Java Scripts (Nein kein JavaScript xD) Java Basics - Anfänger-Themen 13
G Logger mag kein Linux Java Basics - Anfänger-Themen 3
M erzugt kein objekt Java Basics - Anfänger-Themen 18
L Kein Zugriff auf Listen in einem Array Java Basics - Anfänger-Themen 2
G GUI von wiederholender Methode füttern; kein Programmende Java Basics - Anfänger-Themen 2
K kein Sound beim Öffnen der jar-Datei, in Eclipse schon Java Basics - Anfänger-Themen 2
P Eclipse startet kein Applet Java Basics - Anfänger-Themen 6
G Kein EJB-Package vorhanden Java Basics - Anfänger-Themen 2
A kein zugriff auf variable trotz public? Java Basics - Anfänger-Themen 3
F Seltsame Zeichen und kein Zeichenumbruch mit Filewriter Java Basics - Anfänger-Themen 4
S Kein Zugriff auf Files in Jar-Datei Java Basics - Anfänger-Themen 4
C Kann kein Java Programm starten Java Basics - Anfänger-Themen 8
G Auf Bildschirm (kein Fenster) schreiben Java Basics - Anfänger-Themen 2
G kein Zugriff auf eine Klasse in einem Unterordner Java Basics - Anfänger-Themen 11
M Prüfen, ob Tag im Jahr kein Samstag/Sonntag ist Java Basics - Anfänger-Themen 7
G kein text im dialogfeld Java Basics - Anfänger-Themen 3
K JavaKara Programm - erfolgreich compiliert jedoch kein Start Java Basics - Anfänger-Themen 12
M SystemTray zeigt kein Icon an Java Basics - Anfänger-Themen 11
L Warum öffnet sich aus einer .jar-Datei kein Dosfenster? Java Basics - Anfänger-Themen 5
G Listen, über Listen. und doch kein Überblick Java Basics - Anfänger-Themen 8
I translate.java - kein sichtbarer fehler im quelltext Java Basics - Anfänger-Themen 18
S Kein wirklicher Ansatz Java Basics - Anfänger-Themen 6
F Kann kein Programm über die Konsole ausführen Java Basics - Anfänger-Themen 5
G Habe bei String kein split()? Java Basics - Anfänger-Themen 7
G Kein Runden Java Basics - Anfänger-Themen 3
G readln, aber kein writeln :( Java Basics - Anfänger-Themen 12
G Kein main Type? Java Basics - Anfänger-Themen 3
R Klasse nicht sichtbar(kein private-Fehler) Java Basics - Anfänger-Themen 2
H kein lösungs ansatz mit java Java Basics - Anfänger-Themen 4
S Layout Probleme (Kein Adden möglich) Java Basics - Anfänger-Themen 18
M JSP: Cookies setzen ist kein Problem, aber wieder ändern ??? Java Basics - Anfänger-Themen 3
W mehrere Strings vergleichen, (kein equal-Problem) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben