Wykorzystania klawisza Tab

Wykorzystania klawisza Tab
M3
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 4 lata
  • Postów:11
0

Witam pisze pewien projekt w środowisko eclipse Java, ale mam pewien problem z wykorzystaniem przycisku Tab.
podczas wpisywania w komponent Text wyświetlane są w chmurkach podpowiedzi i chciałbym żeby po wciśnięci klawisza tab wybrana podpowiedz byłą automatycznie wpisywana.
z innymi klawiszami nie mam problemu, wszystko działa natomiast jak w keyPressed dam if (e.character == SWT.TAB) to tabulator zmienia aktywnie zaznaczoną kontrolkę na inną i nici z podpowiedzi ;/
proszę o pomoc jak to zrobić, jak wyłączyć przełączanie kontrolek tabem

edytowany 1x, ostatnio: mateuszm31
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:18 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html zamiast pisać event listenery używasz mapowania klawiszy dla komponentu.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
M3
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 4 lata
  • Postów:11
0

Ok, dzięki poczytam i spróbuje to wykorzystać :P
//hmmm z tego co widzę działa to w swingu na komponentach swt już nie che

Niestety nie działa to na klawiszu TAB na innych działa ładnie natomiast po wciśnięci tab zmienia kontrolke ;/
podbijam

W swingu wszystko działa nawet tab

Kopiuj
dataField.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);
dataField.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);

ale jak to zrobić w SWT? prosze o pomoc

dodanie znacznika <code class="java"> - fp

edytowany 4x, ostatnio: flowCRANE
flowCRANE
Pamiętaj o wstawianiu kodu w znaczniki kolorujące składnię;
M3
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 4 lata
  • Postów:11
0

Dobra sam sobie poradziłem już

Kopiuj
text_Formula.addTraverseListener(new TraverseListener()
        {
            @Override
            public void keyTraversed(TraverseEvent e)
            {
                if (e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
                {
                    e.doit = false;
                }
            }
        });

a dalej lecę na KeyListenerach :D

edytowany 1x, ostatnio: flowCRANE

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.