0

必要な場所に StyledText、ExpandableComposite を追加するにはどうすればよいですか? 可能です?または、StyledText でテキストを非表示および表示できる同様のコンポーネントはありますか?

4

1 に答える 1

1

を使用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();
}
于 2013-09-11T11:18:24.790 に答える