将游标隐藏在Eclipse RCP应用程序中的Text组件中

时间:2010-11-15 16:02:18

标签: eclipse eclipse-rcp

在我的eclipse RCP应用程序中,有几个按钮&几个输入框和这下面是Text组件。我的问题是,当我按下其中一个按钮时,光标开始在下面的测试组件中闪烁。能否告诉我如何解决这个问题。

我试过了:

  1. 将文本的焦点设置为false。
  2. SWT.READ_ONLY for Text。
  3. 代码:

    Cursor cursor = new Cursor(parent.getDisplay(), SWT.CURSOR_NO);
    protocolFilterDescription.setCursor(cursor);
    
  4. 似乎没有什么能摆脱这种不必要的光标。

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

2 个答案:

答案 0 :(得分:2)

您必须将其他某个SWT组件的焦点设置为true,以从Text组件中移除焦点。

您可能必须在ActionListener中执行此操作。

答案 1 :(得分:2)

如果要从Text控件中完全删除光标(这意味着无法在那里执行选择等),请尝试在其上调用setEnabled(false)。

此外,此类要求表明您可能根本不需要Text组件,而是可以使用Label。