java - 热衷于在 swt 中将 ExpandableComposite 添加到 StyledText

标签 java eclipse swt

如何将 StyledText、ExpandableComposite 添加到我想要的位置?有可能的?或者是否有类似的组件可以隐藏和显示 StyledText 中的文本?

最佳答案

使用StyledText#setCaretOffset(int)将插入符号移动到要插入的位置,然后使用 StyledText#insert(String)插入文本。这是一个例子:

private static final Random RANDOM = new Random(System.currentTimeMillis());

public static void main(String[] args)
{
    Display display = Display.getDefault();
    final Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new FillLayout());

    final StyledText text = new StyledText(shell, SWT.BORDER);
    text.setText("This is the default text");

    Button button  = new Button(shell, SWT.PUSH);
    button.setText("Add random text");
    button.addListener(SWT.Selection, new Listener()
    {
        @Override
        public void handleEvent(Event arg0)
        {
            text.setCaretOffset(RANDOM.nextInt(text.getText().length()));
            text.insert("RANDOM TEXT");
        }
    });

    shell.pack();
    shell.open();
    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

关于java - 热衷于在 swt 中将 ExpandableComposite 添加到 StyledText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739284/

相关文章:

java - 基于正则表达式的链接未按预期工作

java - Apache Axis2/Rampart + Maven

java - 火星 eclipse 。 Java Spring - 用于构建环境的 Maven 配置文件切换

java - SWT/JFace 对话框中“确定”按钮选择监听器中出现错误

java - 如何在 SWT 中显示文件的系统图标?

java - 在 Jenkins 中为 Java 11 指定 JAVA_HOME

java - 无法抑制 jar 中的日志输出

java - 当我将Java Artifact 部署到具有源代码和javadocs的Maven中,然后尝试从另一个项目中引用它们时,它仅下载主jar

java - Eclipse hibernate pojo 生成包括外键

java - 将文件数组转换为多个菜单项