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 :
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!
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!