在我的eclipse RCP应用程序中,有几个按钮&几个输入框和这下面是Text组件。我的问题是,当我按下其中一个按钮时,光标开始在下面的测试组件中闪烁。能否告诉我如何解决这个问题。
我试过了:
SWT.READ_ONLY
for Text。代码:
Cursor cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_NO);
protocolFilterDescription.setCursor(cursor);
似乎没有什么能摆脱这种不必要的光标。
protocolFilterDescription = new Text(parent, SWT.NONE | SWT.READ_ONLY );
FormData protocolFilterDescriptionLData = new FormData();
protocolFilterDescriptionLData.left = new FormAttachment(0, 1000, 650);
protocolFilterDescriptionLData.top = new FormAttachment(0, 1000, 290);
protocolFilterDescriptionLData.width = 450;
protocolFilterDescriptionLData.height = 12;
protocolFilterDescription.setLayoutData(protocolFilterDescriptionLData);
protocolFilterDescription.setForeground(new Color(parent.getDisplay(),
204, 153, 0));
protocolFilterDescription.setBackground(Display.getCurrent()
.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
protocolFilterDescription.setFont(new Font(parent.getDisplay(),"Verdana",
6, 1));
protocolFilterDescription
.setText("captured");
答案 0 :(得分:2)
您必须将其他某个SWT组件的焦点设置为true
,以从Text组件中移除焦点。
您可能必须在ActionListener中执行此操作。
答案 1 :(得分:2)
如果要从Text控件中完全删除光标(这意味着无法在那里执行选择等),请尝试在其上调用setEnabled(false)。
此外,此类要求表明您可能根本不需要Text组件,而是可以使用Label。