gpt4 book ai didi

Java 树查看器 SWT.RIGHT_TO_LEFT

转载 作者:行者123 更新时间:2023-11-30 11:17:39 24 4
gpt4 key购买 nike

我在 Eclipse 插件上工作,它有两个 TreeViewer,其中一个带有参数 SWT.RIGHT_TO_LEFT。这看起来像这样: Plugin Screen

如您所见,树结构是从右到左绘制的,这正是我所需要的。但是这是我的问题,文本也会被反转,但只有当字符串中有特殊字符时才会反转。PID.5.7 转换为 7.5.PID。以下是我如何创建 TreeViewer 和文本:

xmlTreeOut = new TreeViewer(composite, SWT.RIGHT_TO_LEFT | SWT.DOUBLE_BUFFERED);
...
xmlTreeOut.getTree().addPaintListener(new PaintListener() {
public void paintControl(PaintEvent e) {
//loop over treeItems and for each
...
TextLayout textLayout = new TextLayout(Display.getDefault());
textLayout.setText(xmlName + xmlValue);
textLayout.draw(event.gc, root.getBounds().x + 2, root.getBounds().y + 1);
...
}
});

有人解决这个问题吗?我希望我的字符串与我在 TextLayout 中编写的完全相同。

编辑:

我添加了提到的

textLayout.setOrientation(SWT.RIGHT_TO_LEFT);

现在我的输出是这样的:

enter image description here

如您所见,它适用于像 PID.7.5 这样的字符串,但如果有用空格分隔的字符串并且只包含特殊字符,则将其反转。喜欢“MSH.1 |”变成“| MSH.1”

(删除了 Style2,在 TextLayout 中只使用一种样式)

编辑 2:

变通解决方案:

我现在测试我的字符串是否以没有 a-z 的“单词”开头,A-Z 我只需在前面添加一个带有 StyleColor = WHITE 的“x”。这样所有值都会正确显示。

最佳答案

我还没有测试过这个,但是方法 TextLayout#setOrientation(int orientation)看起来像你需要的:

Sets the orientation of the receiver, which must be one of SWT.LEFT_TO_RIGHT or SWT.RIGHT_TO_LEFT.

只需为两个 TreeViewer 将其设置为 SWT.LEFT_TO_RIGHT(或者为右侧的 TreeViewer 设置为 SWT.RIGHT_TO_LEFT code> 来反转之前的从右到左?)。

关于Java 树查看器 SWT.RIGHT_TO_LEFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24280706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com