Java 在TitleAreaDialog中输入deleting StyledText
我有一个奇怪的问题 我在Java 在TitleAreaDialog中输入deleting StyledText,java,swt,jface,Java,Swt,Jface,我有一个奇怪的问题 我在titlearealog中使用StyledText,但当我按enter键确认对话框时(而不是用鼠标单击OK),文本框的内容消失了 我已绑定此侦听器。这可能与此有关吗 使用常规SWTText时,它可以正常工作,但我需要插入符号偏移量 attributeName = new StyledText(container, SWT.BORDER); attributeName.setText("EXTN_"); attributeName.setLayoutData(gridDat
titlearealog
中使用StyledText
,但当我按enter键确认对话框时(而不是用鼠标单击OK),文本框的内容消失了
我已绑定此侦听器
。这可能与此有关吗
使用常规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) {}
});
有什么想法吗?我很困惑。这并不能回答为什么
Enter
不起作用的问题。但是为什么不使用Text
,而不是StyledText
,而不是setcaretofset(5)
callText.setSelection(5,5)
?你说的“它工作正常,但我需要插入符号偏移量”是什么意思?如果我使用SWT文本小部件而不是按“回车”StyledText工作正常,没有bug,我理解那部分。插入符号呢?我使用StyledText的唯一原因是我需要setCareTofSet方法——否则我会使用基本的SWT文本好吧,它没有回答我的问题,但它正是我需要StyledText的目的,所以它很好:)