Potrzebuję zapobiec tworzeniu nowych linii przez TextViewer po naciśnięciu klawisza Enter w przypadku, gdy flaga preventewines jest włączona.Jak zapobiec nowej linii w StyledText po Enter wciśnięty
Mam ten fragment kodu:
TextViewer myTextViewer = new TextViewer (myGroup, SWT.V_SCROLL
| SWT.FULL_SELECTION
| SWT.BORDER | SWT.WRAP);
myTextViewer.setDocument(new Document(myText));
StyledText myStyledText = myTextViewer.getTextWidget();
myStyledText.addTraverseListener(new TraverseListener() {
@Override
public void keyTraversed(TraverseEvent e) {
if (e.detail == SWT.TRAVERSE_RETURN) {
if (preventNewLines)
e.doit = false;
}
}
});
Ale to sprawia, że nowe linie tak ... Co robię źle? Czy ktokolwiek może wysłać mi prawidłowy kod, jak temu zapobiec?
EDIT: OK, znalazłem odpowiedź od szczęścia, mam nadzieję, że przyczynia się do kogoś innego, może ...
myStyledText.addVerifyKeyListener(new VerifyKeyListener() {
@Override
public void verifyKey(VerifyEvent e) {
if (preventNewLines &&
(e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR)) {
e.doit = false;
}
}
});
Powinieneś odpowiedzieć na własne pytanie, a następnie sprawdzić odpowiedź jako otwartą. – GenericJam