1

我有一个奇怪的问题。

我正在使用 aStyledText但是TitleAreaDialog当我按 Enter 确认对话框(而不是用鼠标单击 OK)时,文本框的内容消失了。

我已经绑定了这个Listener。它可能与此有关吗?

使用常规 SWTText可以正常工作,但我需要插入符号偏移量。

attributeName = new StyledText(container, SWT.BORDER);
attributeName.setText("EXTN_");
attributeName.setLayoutData(gridData);
attributeName.setCaretOffset(5);
attributeName.addKeyListener(new KeyListener() {

    @Override
    public void keyReleased(KeyEvent e) {           
        if(!(attributeName.getText().startsWith("EXTN_"))){
            attributeName.setText("EXTN_");
            attributeName.setCaretOffset(5);
        }
    }

    @Override
    public void keyPressed(KeyEvent e) {}
});

有任何想法吗?我很困惑。

4

1 回答 1

2

这不能回答为什么Enter不起作用的问题。但是为什么不使用Textand 而不是StyledTextand 而不是setCaretOffset(5)calltext.setSelection(5, 5)呢?

于 2013-11-08T13:27:47.467 回答