在TitleAreaDialog中输入删除StyledText

时间:2013-11-08 12:44:24

标签: java swt jface

我有一个奇怪的问题。

我在StyledText中使用TitleAreaDialog但是当我按Enter确认对话框(而不是单击鼠标点击确定)时,文本框的内容会消失。

我绑定了这个Listener。是否可能要对此做些什么?

使用常规SWT Text它工作正常,但我需要插入符号偏移。

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

有什么想法吗?我很困惑。

1 个答案:

答案 0 :(得分:2)

这不能回答为什么Enter不起作用的问题。但为什么不使用Text而不是StyledText而不是setCaretOffset(5)来调用text.setSelection(5, 5)