Combobox Focus-Events, Tab in Tabelle

Status
Nicht offen für weitere Antworten.

AMiGA

Bekanntes Mitglied
Hallo zusammen,

ich sitze derzeit an einer GUI, die auf einem Handheld unter Java 1.3 laufen soll, wobei ich in den letzten Tagen an diversen Problemen zu knabbern hatte. Ich habe bislang leider noch keine Lösung gefunden und hoffe, dass mir vielleicht jemand von Euch weiterhelfen kann.

1. Ich würde gerne in einem Fenster alle Komponenten per "Tab" durchlaufen können. Die Komponente, die aktuell den Fokus besitzt soll hervorgehoben werden (Hintergrund in anderer Farbe, Rahmen um Komponente etc.). Ich habe nun einige Komponenten erstellt (HighlightedTextfield, HighlightedCombobox, HighlightedButton, ...) die jeweils bei FocusGain die Komponente markieren und bei FocusLost wieder zurücksetzen. Gibt es da evtl. eine elegantere Möglichkeit, so dass ich nicht für jede Komponente eine abgeleitete Klasse nutzen muss? Ich habe überlegt mit addAWTEventListener einen Listener für Focus-Events zu registrieren, die Methode (addAWTEventListener) gibt es aber leider bei der VM für den Handheld nicht.

2. Zusätzlich habe ich Probleme mit der Combobox. Es werden keine Focus-Events erzeugt, wenn sie mit Tab durchlaufen wird. Erst wenn ein Element (per Maus) ausgewählt wird, wird zunächst ein FocusLost (!) und dann ein FocusGain erzeugt. Wie bringe ich die Combobox dazu, bei Aktivierung durch Tab ein FocusGain-Event zu erzeugen?

3. Das Durchlaufen mit "Tab" scheitert leider auch bei einer Tabelle. Ich komme mit "Tab" bis in die erste Zeile, da ist dann Ende. Ich würde gerne weiter die Zeilen durchlaufen und am Ende der Tabelle auf die nächste (außerhalb liegende) Komponente wechseln können. Die Tabelle reagiert aber leider nicht auf KeyEvent.VK_TAB in einem KeyListener. Über eine InputMap komme ich auch nicht weiter, da bei table.getInputMap() jeweils NoSuchMethodException geworfen wird.

4. Ich habe einen simplen JDialog, der modal vor einem JFrame angezeigt wird. Wenn ein Knopf auf dem Dialog gedrückt wird, wird per JOptionPane eine Nachricht angezeigt, danach wird per textfield.requestFocus() der Fokus auf ein Feld gesetzt. Das klappt aber nur in ca. 50% der Fälle! Bei den anderen 50% wird der Fokus wieder auf den Knopf gesetzt... ein sehr seltsames Verhalten.

Ich hoffe, irgendjemand hat einige gute Ideen, die mir vielleicht weiterhelfen könnten. Vielen Dank schon mal im voraus.

Gruß,
AMiGA
 

AMiGA

Bekanntes Mitglied
Hallo,

habe ich die Probleme vielleicht nicht ausführlich genug beschrieben? Oder hat tatsächlich niemend einen Lösungsansatz für eines der Probleme? Schade :-(

Gruß,
AMiGA
 

thE_29

Top Contributor
FocusTraversalPolicy in der FAQ!

In desen Methoden baust du bei getDefault, getBefore und getAfter

sowas hier ein

Code:
        if(order[ index % order.length] instanceof JComponent)
        {
          final JComponent comp = (JComponent)order[ index % order.length];
          final Border oldBorder = comp.getBorder();
          comp.setBorder(BorderFactory.createLineBorder(Color.RED,3));
          
          new java.util.Timer().schedule(new java.util.TimerTask(){
            public void run(){
              comp.setBorder(oldBorder);
            }},500);
        }

Glaub das war vom before!! Die Abfrage und die Zuweiung zu JCOmponent sind immer mit den Objekten zu nehmen, die in der letzten Zeile sind (bei default wäre es zB order[0])


Wenn man aber schnell drückt, spinnt das ganze, wegen zuvieler anonymen Klassen, etc....

Würds mit Klassen vars machen, das es auch nur 1 Timer gibt und falls der gerade noch läuft, beenden oder so...
 

AMiGA

Bekanntes Mitglied
FocusTraversalPolicy in der FAQ!

Danke Dir für den Hinweis.... leider gibt es setFocusTraversalPolicy aber erst seit Java 1.4 :-(

Edit: Aber mit setNextFocusableComponent() sollte es ja auch klappen...

Gruß,
AMiGA
 

thE_29

Top Contributor
Uiui!!

Seh grad du hast 1.3


Na des is blöd....


Mh... musst du überall nen FocusListener draufhaun...!
 

AMiGA

Bekanntes Mitglied
Wollte den Beitrag noch einmal hochschubsen.

Ich habe immer noch zwei Probleme, wo ich leider keine Lösung für finde:

1. Eine ComboBox erzeugt leider keine FocusGained- und FocusLost-Events, wenn sie per Tab angesteuert wird, weil die ComboBox aus mehreren Komponenten besteht (http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html#listeners). Leider habe ich keine Idee, wie ich sonst eine Umrandung der ComboBox realisieren könnte (um dem Nutzer jederzeit zu zeigen, welche Komponente den Fokus besitzt. Dies ist notwendig, weil das Programm auf einem Handheld per Tastaturbedienung läuft.)

2. Ich würde gerne einzelne Zeilen in einer Tabelle mit "Tabulator" durchlaufen können. Standardmäßig geht dies mit STRG+TAB. Ein KeyListener mit KeyEvent.VK_TAB reagiert leider nicht.

Gruß,
AMiGA
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Element aus comboBox mit observableList löschen AWT, Swing, JavaFX & SWT 3
T Combobox mit Autocomplete-Funktion AWT, Swing, JavaFX & SWT 7
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
Doppel JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
P JavaFX ClassCastException bei ComboBox.getValue AWT, Swing, JavaFX & SWT 4
F Wie bekomme ich den Wert der ComboBox in eine Variable gespeichert welche ich für meinen ActionListener nutzen kann? AWT, Swing, JavaFX & SWT 3
M Swing Java Swing/AWT Combobox Bug AWT, Swing, JavaFX & SWT 3
M Combobox bild anklicken AWT, Swing, JavaFX & SWT 2
L JavaFX Wiederspenstige ComboBox AWT, Swing, JavaFX & SWT 0
P Combobox und Enum AWT, Swing, JavaFX & SWT 3
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
L Methode zum Füllen einer ComboBox AWT, Swing, JavaFX & SWT 4
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Combobox, Textfield & setOnMouseClicked AWT, Swing, JavaFX & SWT 2
it_is_all Swing Button, ComboBox,... -- Unterschied: NetBeans Design <-> Ausführung AWT, Swing, JavaFX & SWT 2
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
offi Combobox in TableCell AWT, Swing, JavaFX & SWT 1
D Javafx Combobox Abfrage aus mysql AWT, Swing, JavaFX & SWT 8
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
MrSnake ComboBox-Einträge werden unsichtbar AWT, Swing, JavaFX & SWT 0
L ComboBox: slider positionieren AWT, Swing, JavaFX & SWT 0
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
M JavaFX Combobox bindBidirectional AWT, Swing, JavaFX & SWT 4
D [Anfänger]ComboBox erstellt Einträge in einer anderen ComboBox AWT, Swing, JavaFX & SWT 3
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
H Combobox aktualisieren AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
M JavaFX ComboBox AWT, Swing, JavaFX & SWT 5
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
J ComboBox als Filter benutzen AWT, Swing, JavaFX & SWT 1
M ausgewählte Inhalt von ListItem inn ComboBox in der Tabelle speichern AWT, Swing, JavaFX & SWT 0
Developer_X Java JTable - Combobox + Checkbox - Cellrenderer + Editor AWT, Swing, JavaFX & SWT 3
G Dynamische ComboBox AWT, Swing, JavaFX & SWT 3
U Combobox mit individuellen Texten AWT, Swing, JavaFX & SWT 5
M JavaFX Combobox - Item Auswahl mit Tasten AWT, Swing, JavaFX & SWT 8
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
C Beschriftungen von Tabellenspalten mit Combobox aussuchen AWT, Swing, JavaFX & SWT 2
G JavaFX ComboBox .getItems().add() Problem AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
F SWT Problem mit Tabelle und Combobox in einem Wizard AWT, Swing, JavaFX & SWT 5
B JAVAFX icon in ComboBox einfügen AWT, Swing, JavaFX & SWT 5
W Swing Combobox Abhängigkeit AWT, Swing, JavaFX & SWT 1
S ComboBox-Werte aus einem Array an Textfields übergeben AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
S Combobox aktualisieren AWT, Swing, JavaFX & SWT 3
B Erstellen eigener Combobox ("CellFactory") AWT, Swing, JavaFX & SWT 4
C Swing ComboBox - ActionListener deaktivieren AWT, Swing, JavaFX & SWT 2
A combobox automatisch in ein textfeld wechseln AWT, Swing, JavaFX & SWT 3
J Swing Drive-ComboBox AWT, Swing, JavaFX & SWT 7
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
L Swing Model für ComboBox AWT, Swing, JavaFX & SWT 14
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
T Java Combobox Problem AWT, Swing, JavaFX & SWT 3
C SWT Combobox mit Textdatei füllen AWT, Swing, JavaFX & SWT 2
M comboBox Listener? AWT, Swing, JavaFX & SWT 2
R Datenbanktabellen in Combobox AWT, Swing, JavaFX & SWT 3
C Combobox bei Tabellenänderung mit aktualisieren AWT, Swing, JavaFX & SWT 11
1 CellEditor mit ComboBox richtig beenden AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
E Swing CellEditor mit Combobox durch Tastatureingabe editieren?! AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
F Wert zu Eintrag in ComboBox speichern?! AWT, Swing, JavaFX & SWT 7
P Swing ComboBox(en) in JTable auslesen und ausgeben AWT, Swing, JavaFX & SWT 11
M Index von Combobox AWT, Swing, JavaFX & SWT 20
L ComboBox in Action AWT, Swing, JavaFX & SWT 4
D ComboBox & CellListRenderer AWT, Swing, JavaFX & SWT 6
D ComboBox-Model mit Observer AWT, Swing, JavaFX & SWT 3
B Taschenrechner mit ComboBox AWT, Swing, JavaFX & SWT 7
T ComboBox auslesen AWT, Swing, JavaFX & SWT 11
P Combobox liesst falschen Wert AWT, Swing, JavaFX & SWT 10
C Combobox im JFrame aus Datenbank befüllen AWT, Swing, JavaFX & SWT 6
M Combobox soll Farbe einer Komponente setzen AWT, Swing, JavaFX & SWT 2
M Swing ComboBox ein SelectedItem übergeben/anzeigen AWT, Swing, JavaFX & SWT 7
J Werte aus Combobox speichern AWT, Swing, JavaFX & SWT 3
J Combobox als Filterkriterium (Gruppierung) in JTable AWT, Swing, JavaFX & SWT 7
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10
M SWT Wie Textfeld hinzufügen, nach Auswahl von einem bestimmten Combobox-item? AWT, Swing, JavaFX & SWT 3
M SWT ComboBox mit DB-Inhalten Designfrage AWT, Swing, JavaFX & SWT 5
W MouseListener im editable ComboBox AWT, Swing, JavaFX & SWT 14
W Combobox mit eingabefeld AWT, Swing, JavaFX & SWT 7
T Editable ComboBox / kein Weiterspringen AWT, Swing, JavaFX & SWT 12
M Combobox in JTable AWT, Swing, JavaFX & SWT 4
S Swing ComboBox aus Array befüllen AWT, Swing, JavaFX & SWT 2
K Per ComboBox Dateien einlesen AWT, Swing, JavaFX & SWT 23
0 Hintergundfarbe von editierbarer ComboBox ändern AWT, Swing, JavaFX & SWT 2
M Frage zu ComboBox AWT, Swing, JavaFX & SWT 7
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
A NetBeans und ComboBox AWT, Swing, JavaFX & SWT 2
SuperSeppel13 Combobox zur Farbwahl kollidiert mit NimbusLookAndFeel AWT, Swing, JavaFX & SWT 7
D ComboBox(Model) mit dummyItem AWT, Swing, JavaFX & SWT 10
D Inhalt von Textfield nach ComboBox AWT, Swing, JavaFX & SWT 2
GilbertGrape nochmal editierbare Combobox AWT, Swing, JavaFX & SWT 3
GilbertGrape JTable mit Combobox-Editierung schon nach einem Klick AWT, Swing, JavaFX & SWT 7
E Swing Button ActionListener Infos aus Textfield und ComboBox AWT, Swing, JavaFX & SWT 3
G ComboBox wird nicht angezeigt beim anhängen an eine Gruppe AWT, Swing, JavaFX & SWT 2
G Combobox Event AWT, Swing, JavaFX & SWT 4
G ComboBox aktualisieren AWT, Swing, JavaFX & SWT 13

Ähnliche Java Themen

Neue Themen


Oben