![]() |
|
|
|||||||
| AWT, Swing, JavaFX & SWT Themen zur Programmierung von Benutzer-Oberflächen (GUI, Applet) sowie zur Grafikprogrammierung (2D / 3D) |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Neuer Benutzer
Bit
Registriert seit: 07.07.2009
Fachbeiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo zusammen,
ich benutze in meiner GUI die JComboBox Erweiterung PComboBox, welche in der Java Swing Componentenen Libary enthalten ist. Die API dieser Erweiterung und Demos findet man unter PSwing Java Swing Components . Hier ist für die PComboBox ein PComboFocusListener beschrieben, der vom FocusListener erbt, also auch die funktionen focusGained und focusLost verwendet. Nur benötigt der PComboFocusListener einen FullWordComboKeySelectionModel, wo ich auch nicht kapiere was er macht. Nun mein Problem, ich benötige ein Listener, der mir erkennt, wann das Objekt den Focus bekommt, um alle meine PComboBoxen zu aktualisieren beim Verlust des Focus. Derzeit passiert jedoch gar nichts, mache derzeit auch nur eine Textausgabe. Nun zu meinem Code:
Also gehe davon aus dass ich irgend ein Fehler bei der Implementierung gemacht habe. Weiß auch nicht ob ich den pcomboFL noch adden muss, hatte es zwar versucht, hat aber auch nichts genützt. Danke schonmal für eure Hilfe. |
||
|
|
| #2 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 17.11.2003
Fachbeiträge: 4.827
Abgegebene Danke: 21
Erhielt 209 Danke für 187 Beiträge
|
Ich hab direkt keine Ahnung. Aber vielleicht hilft es Dir, einfach einen InputVerifier auf die JComboBox zu werfen, der die Aktion ausführt und dann true zurück gibt.
Ebenius
__________________
The first rule of program optimization: don't do it. The second rule of program optimization (for experts only!): don't do it yet. [Michael Anthony Jackson] |
|
|
| #3 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 07.07.2009
Fachbeiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Danke für die Antwort, aber ich glaube der InputVerifier funktioniert bei der PComboBox nicht, genau wie der FocusListener. Müsste schon explizit wissen, bzw verstehen wie der PComboFocusListener funktioniert.
Ich verstehe aber an der Stelle auch nicht wie der InputVerifier funktioniert. Bin leider nicht so bewandt in mit Java Swing. |
|
|
| #4 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 17.11.2003
Fachbeiträge: 4.827
Abgegebene Danke: 21
Erhielt 209 Danke für 187 Beiträge
|
InputVerifier (so vorhanden) wird immer gefragt, wenn eine Komponente ihren Focus verliert. Wenn der InputVerifier etwas dagegen hat, gibt er false zurück und dann wird der Fokus nicht transferiert.
Da die besagte Komponente auf Swing aufsetzt, würde ich erwarten, dass sie sich wie eine Swing-Komponente verhält. Mehr zum Thema Fokus: Sun Java™ Tutorial: Validating Input. Kann es sein, dass Du etwas ganz anderes falsch machst; zum Beispiel die Komponente initialisierst, den Listener draufpackst und dann eine andere Instanz erzeugst und diese hinzufügst? Manchmal passieren solche Dinge... Ansonsten: Benutz doch einen Debugger und schau nach was passiert. Ebenius
__________________
The first rule of program optimization: don't do it. The second rule of program optimization (for experts only!): don't do it yet. [Michael Anthony Jackson] |
|
|
| #5 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 07.07.2009
Fachbeiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Kann schon sein dass ich was ganz anderes falsch mache, dass weiß ich ja eben nicht, hatte gehofft hier eine Antwort zu finden.
Und zu dem InputVerifier, mir ist es doch egal ob es eine gültige oder falsche Eingabe ist, hauptsache halt überhaupt eine Eingabe. Und laut der API vom pswing, sollte es ja nicht so schwierig sein den PComboFocusListener zu verwenden. |
|
|
| #7 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 07.07.2009
Fachbeiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Sicherlich habe ich das auch versucht, nur übergebe ich die Komponente ja schon oben dem FullWordComboKeySelectionModel so dass ich mir nicht sicher bin ob ich die Komponente überhaupt noch hinzufügen muss.
Wie gesagt, kann mit dem FullWordComboKeySelectionMode und der PComboBox nichts anfangen. Werde mir wohl etwas selber schreiben müssen und die PComboBox rauswerfen. |
|
|
| #8 (permalink) | |||
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 07.07.2009
Fachbeiträge: 5
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo zusammen,
ich kam heute durch Zufall selbst auf die Lösung und möchte sie hier nochmal kurz veröffentlichen, damit andere auch etwas davon haben. Und zwar bietet die PComboBox eine Methode getTextField() und auf diese kann man dann den FocusListener anwenden. Im Java Code sieht das dann folgendermassen aus:
Was mir auch aufgefallen ist, der FocusListener funktioniert bei einer normalen JComboBox auch nicht wenn setEditable(true) ist, weiß ich aber auch nicht woran das liegt, evtl kann dazu nochmal jemand was schreiben. Hoffe mein Beitrag hilft noch jemanden irgendwann mal. Danke trotzdem für die Hilfestellungen. |
||
|
|
|
| Stichworte |
| pcombobox , pcombofocuslistener , pswing |
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Tic Tac Toe Layout-Sorgen | kulturfenster | Java Basics - Anfänger-Themen | 25 | 24.01.2009 18:12 |
| Listener Focus setzen | sascha.java | AWT, Swing, JavaFX & SWT | 1 | 05.06.2006 21:16 |
| Problem mit Eventhandling (Anfängerfrage) | Simighourt | AWT, Swing, JavaFX & SWT | 12 | 03.06.2006 15:36 |
| Ein ganz langes aber übersichtliches Listener Bsp. | gr33b | Chat - NoPaste | 0 | 19.04.2006 08:59 |
| Lesezeichen |
|
|