【问题标题】:Non resizable window with JFace带有 JFace 的不可调整大小的窗口
【发布时间】:2011-03-04 08:47:19
【问题描述】:

我如何使用 JFace API 设置不可调整大小的窗口。考虑下面创建应用程序窗口的代码。我找不到任何方法将窗口设置为在 shell 对象或应用程序窗口父级上不可调整大小。我有什么遗漏吗?

public class Application extends ApplicationWindow
{
    public Application()
    {
        super(null);
    }

    protected Control createContents(Composite parent)
    {
        prepareShell();

        return parent;
    }

    protected void prepareShell() {
        Shell shell = getShell();
        shell.setSize(450, 300);
    }

    public static void main(String[] args)
    {
        Application app = new Application();

        app.setBlockOnOpen(true);
        app.open();

        Display.getCurrent().dispose();
    }
}

感谢您的帮助。

【问题讨论】:

    标签: java swt jface resizable


    【解决方案1】:

    据我了解,您希望在创建 shell 之前设置 shell 样式位。

    简单添加

    @Override
    public void create() {
        setShellStyle(SWT.DIALOG_TRIM);
        super.create();
    }
    

    到你的班级,这样做。这省略了 SWT.RESIZE 样式位,因此防止调整大小..

    【讨论】:

    • 这正是我想要的。非常感谢。
    • @the.duckman 有趣。我尝试了 setShellStyle(SWT.SHELL_TRIM & ~SWT.RESIZE) 但它没有用。为什么?
    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2011-08-20
    相关资源
    最近更新 更多