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
- Rejestracja:ponad 12 lat
- Ostatnio:około 4 lata
- Postów:11
0
edytowany 1x, ostatnio: mateuszm31
0
http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html zamiast pisać event listenery używasz mapowania klawiszy dla komponentu.
- 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
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ę;
- Rejestracja:ponad 12 lat
- Ostatnio:około 4 lata
- Postów:11
0
Dobra sam sobie poradziłem już
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.