events skippen

Status
Nicht offen für weitere Antworten.

vidi

Aktives Mitglied
hallo leute..

ich habe eine neue komponente geschrieben die von jcomponent erbt.
sie besteht unteranderem aus einem textfield und einen button.
ich möchte an diese komponente einen focuslistener hängen.

gesagt getan..
nur es tut sich absolut nichts..die komponente löst kein event aus wenn sie den focus verliert oder bekommt..

also habe ich probiert die addfocuslistener methode zu überschreiben und das ganze an das textfeld zu hängen..
das funktioniert dann auch..
nur leider verliert das ding auch den focus wenn ich auf den button innerhalb der komponente drücke..
dies habe ich versucht zu unterbinden indem ich in der klasse einen focuslistener implementiert habe und dort evt.getOppositeComponent() mit meinem button vergleiche. wie kann ich jetzt die event queue leer machen das an dieser stelle schluss ist und er die restlichen listener skipped?

gruß

vidi
 

The_S

Top Contributor
Haste schonmal versucht den boolean focusable deiner JComponent auf true mit setFocusable(true); zu setzen?
 

vidi

Aktives Mitglied
ah ja hatte ich vergessen zu schreiben, ja hab ich gemacht..aber dann spielt das mit den events völlig verrückt
 

Wildcard

Top Contributor
Eine Komponente ist nicht fokusiert wenn eins ihrer Kinder fokusiert ist.
Was genau willst du machen?
Vielleicht findet sich dann eine sinnvolle Lösung.
 
G

Gast

Gast
textfeld über der komponente hat den focus
-> drücke tab -> komponente bekommt focus -> drücke wieder tab -> textfield in der komponente bekommt focus und die komponente nen focus lost..

ich will einfach nur ereichen das er den focus das die komponente nach außen den focus behält obwohl in der komponente grade das textfield oder der button focus hat..
 
G

Gast

Gast
will genau das erreichen wildcard, das die komponente den focus behält während eines ihrer kinder den focus hat..
 

Wildcard

Top Contributor
Gast hat gesagt.:
will genau das erreichen wildcard, das die komponente den focus behält während eines ihrer kinder den focus hat..
Und genau das geht nicht. Es gibt nur einen Fokus.
Also:
Warum denkst du das haben zu müssen?
 

vidi

Aktives Mitglied
weil ich von aussehen nur mitbekommen will das irgendwas in der komponente noch den focus hat (und damit die komponente selber)..nicht das der button von der komponente den focus hat..vieleicht kenn ich den ja garnicht..
 

vidi

Aktives Mitglied
das ist glaube etwas genauer als

"will genau das erreichen wildcard, das die komponente den focus behält während eines ihrer kinder den focus hat.."
 

vidi

Aktives Mitglied
das nur ein ding den focus haben kann ist klar, es soll halt nur nach außen so aussehen das die komponente den focus hat und nicht eines ihrer kinder
 

Wildcard

Top Contributor
vidi hat gesagt.:
weil ich von aussehen nur mitbekommen will das irgendwas in der komponente noch den focus hat
Am sinnvollsten ist es wohl das über isFocusCylceRoot zu lösen.
Alternativ könntest du noch isFocusOwner überschreiben, allerdings kann ich nicht garantieren das dabei keine Side-Effects auftreten.
 

Wildcard

Top Contributor
Ein FocusCycle beschreibt wie der Focus weitergegeben wird wenn der Benutzer 'Tab' drückt.
Jeder Container kann ein FocusCycleRoot sein, d.h. mit Tab wird der Focus nur zwischen den Komponenten die in diesem Container enthalten sind weitergegeben.
Im diesem Tutorial steht unter anderem das man einen Listener auf dem KeyboardFocusManger registrieren kann über den man informiert werden kann wenn der FocusCycleRoot wechselt.

http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#customFocusTraversal
 

vidi

Aktives Mitglied
ich bin jetzt seit langem nochmal an dem projekt, komme aber irgendwie nicht weiter..
hier nochmal was ich eigendlich will..

habe ein problem mit einer eigenen komponente..
diese erbt von der klasse jcomponent, und besteht aus einem jtextfield und einem button (ähnlich einer jcombobox).

ich möchte erreichen, dass sich die komponente nach außen hin verhält als bestünde sie nur aus 1ner komponete (die komponente hat nach außen den focus obwohl ihr kind eigendlich den focus hat..), auch halt ähnlich wie ne jcombobox, weil wenn ich da auf den knopf drück verliert die combobox ja auch nicht den focus.
hab mir das auch in der combobox angeschaut, aber irgendwie steig ich da nicht so durch..

müsste ja irgendwas mit events abfangen bzw weiterleiten zutun haben, aber bin schon die ganze zeit am rumprobieren aber bekomms einfach nicht hin..
wäre für hilfe jeder art dankbar

greetz vidi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G mouse events AWT, Swing, JavaFX & SWT 6
Heldderschatten Java Events und Interfaces AWT, Swing, JavaFX & SWT 18
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
D Swing Events vom JLayer abfangen AWT, Swing, JavaFX & SWT 2
D Transparentes Hauptfenster Events AWT, Swing, JavaFX & SWT 1
M Swing Hinter die Kulissen von Events (addActionListener) AWT, Swing, JavaFX & SWT 6
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R SWT Eigene Events erstellen und werfen AWT, Swing, JavaFX & SWT 59
S Mouse Events in einer sortierten JTable unterscheiden AWT, Swing, JavaFX & SWT 18
C Swing Simulation von Drag and Drop Events AWT, Swing, JavaFX & SWT 3
J Events und Sleep? AWT, Swing, JavaFX & SWT 4
C MouseMotionListener fired keine Events mehr wenn in Button AWT, Swing, JavaFX & SWT 2
E JFace ListSelectionDialog & Mouse-Events? AWT, Swing, JavaFX & SWT 2
N Variablen in Events AWT, Swing, JavaFX & SWT 4
P AWT MouseListener unklare abhandlung von Events AWT, Swing, JavaFX & SWT 3
L Swing Auslöser eines Events finden? AWT, Swing, JavaFX & SWT 6
R JTable - eigener Editor - Mouse events AWT, Swing, JavaFX & SWT 2
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
Weltall 7 AWT Maus-Events werden doppelt ausgeführt AWT, Swing, JavaFX & SWT 12
0 Events werden nicht ausgelöst AWT, Swing, JavaFX & SWT 2
V Swing Auslösen von zwei Events hintereinander AWT, Swing, JavaFX & SWT 4
T Swing Control und Events AWT, Swing, JavaFX & SWT 8
MrMilti Gezeichnete Java2D Elemente mit Events versehen AWT, Swing, JavaFX & SWT 3
R Events - Nur auf eines reagieren AWT, Swing, JavaFX & SWT 3
T JComboBox: ActionListener/ItemListener wie nur auf bestimmte Events reagieren? AWT, Swing, JavaFX & SWT 7
B Swing setDefaultButton geht nicht - Komponente fängt Events ab AWT, Swing, JavaFX & SWT 5
R Key und Mouse Events AWT, Swing, JavaFX & SWT 2
K Alle Events abfangen mit GlassPane AWT, Swing, JavaFX & SWT 7
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
hdi Events nicht plattform-unabhängig? AWT, Swing, JavaFX & SWT 14
M SWT: eigene Events AWT, Swing, JavaFX & SWT 9
G Reihenfolge von Events AWT, Swing, JavaFX & SWT 4
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
F Probleme mit MouseWheel events in SWT AWT, Swing, JavaFX & SWT 13
M Globale Events in Windows abfangen AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
S Events abfangen, nicht durchlassen AWT, Swing, JavaFX & SWT 2
T Events unterdrücken AWT, Swing, JavaFX & SWT 8
G An die Quelle einen events kommen AWT, Swing, JavaFX & SWT 2
M Problem mit verschachtelten Events und kein ausweg in sicht AWT, Swing, JavaFX & SWT 3
W Vom JPanel bekomme ich keine Events AWT, Swing, JavaFX & SWT 5
V Events an untere Layers weitergeben AWT, Swing, JavaFX & SWT 2
M Events auslagern? AWT, Swing, JavaFX & SWT 6
F Events AWT, Swing, JavaFX & SWT 8
N SWT: GUI Windows Events AWT, Swing, JavaFX & SWT 8
I Globale Tastatur-Events abfragen AWT, Swing, JavaFX & SWT 3
D Events werden zu oft aufgerufen AWT, Swing, JavaFX & SWT 4
G Events AWT, Swing, JavaFX & SWT 2
K Mouse Events der Scrollbar/pane AWT, Swing, JavaFX & SWT 2
S Events fremdauslösen AWT, Swing, JavaFX & SWT 17
K Doppelte Events AWT, Swing, JavaFX & SWT 4
A Combobox Focus-Events, Tab in Tabelle AWT, Swing, JavaFX & SWT 7
D Events, Listener, GUI . Größeres Projekt AWT, Swing, JavaFX & SWT 4
A Vielschichtige GUI und Events? AWT, Swing, JavaFX & SWT 4
V JList mit Events Steuern ? AWT, Swing, JavaFX & SWT 15
S Rechner zu schnell für Events? AWT, Swing, JavaFX & SWT 14
G JTable und Events AWT, Swing, JavaFX & SWT 4
S Events bei 2 gleichen Jtree abfangen AWT, Swing, JavaFX & SWT 3
ShapeShifter JButton erzeugt zwei Events AWT, Swing, JavaFX & SWT 4
B Eigenes Events AWT, Swing, JavaFX & SWT 3
T JScrollPane-Events AWT, Swing, JavaFX & SWT 2
M JTable und Events AWT, Swing, JavaFX & SWT 4
K JComboBox: Endlosschleife durch Events AWT, Swing, JavaFX & SWT 4
K [JComboBox] ENTER löst zwei events aus? AWT, Swing, JavaFX & SWT 2
M Glasspane und dispatchen von Events AWT, Swing, JavaFX & SWT 6
H Events manuell aufrufen AWT, Swing, JavaFX & SWT 4
F JComboBox setEditable( true ) auf Tastatur Events reagieren AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben