【问题标题】:Right to Left Shell in SWTSWT 中从右到左的 Shell
【发布时间】:2015-07-13 22:59:03
【问题描述】:

我想在 Java 中使用 SWT 镜像(从右到左模式)标题栏控制按钮(关闭、最小化和最大化按钮)。我到处搜索,发现this link,但它对我不起作用。

请帮帮我。

【问题讨论】:

  • 您使用的是哪个版本的 SWT?
  • 我知道您是 SO 新手。如果您认为某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的旧帖子上。

标签: java swt right-to-left


【解决方案1】:

要显式更改 SWT 控件的方向,请使用

setOrientation( SWT.RIGHT_TO_LEFT );

也可以将RIGHT_TO_LEFT样式标志传递给构造函数,例如

new Shell( parent, SWT.DIALOG_TRIM | SWT.RIGHT_TO_LEFT );

【讨论】:

  • 从 v3.7 开始,SWT 在Control 上有一个setOrientation 方法(Shell 继承自)
  • 你是对的。我使用了旧版本的 SWT。现在效果很好。非常感谢
  • @RüdigerHerrmann 你能看看[这里]stackoverflow.com/questions/32816938/…)
【解决方案2】:

一个 JFace Window 在打开时将包含一个 SWT Shell。

有Shell#setOrientation API(继承自Control,顺便说一句)。使用它来镜像您的控件(检查 javadoc)。

/**
 * 
 * @author ggrec
 *
 */
public class Tester
{

    public static void main(final String[] args)
    {
        final Display display = new Display();
        final Shell shell = new Shell(display);
        shell.setLayout(new GridLayout(1, false));

        shell.setOrientation(SWT.RIGHT_TO_LEFT);

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

}

【讨论】:

  • 但是 shell 没有 setOrientation 方法。
  • @user3604786 您很可能使用了错误的Shell 导入。 :-)
猜你喜欢
  • 1970-01-01
  • 2013-09-09
  • 2012-10-11
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2022-01-13
相关资源
最近更新 更多