gpt4 book ai didi

java - 按下Enter后如何防止StyledText中出现新行

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:58:03 24 4
gpt4 key购买 nike

如果启用了 preventNewLines 标志,我需要阻止 TextViewer 在我按下 Enter 键后换行。

我有这段代码:

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;
}
}
});

但无论如何它都会换行...我做错了什么?任何人都可以请给我正确的代码如何防止它吗?

编辑:好的,我很幸运地找到了答案,我希望它对其他人有帮助,也许......

myStyledText.addVerifyKeyListener(new VerifyKeyListener() {

@Override
public void verifyKey(VerifyEvent e) {
if (preventNewLines &&
(e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR)) {
e.doit = false;
}
}
});

最佳答案

这里已经回答了https://stackoverflow.com/a/7589098/18445

@Override
public boolean isNavigationEvent(ColumnViewer viewer, Event event) {
return event.keyCode == SWT.CR || event.keyCode == SWT.KEYPAD_CR;
}

关于java - 按下Enter后如何防止StyledText中出现新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com