Apache Pivot:窗口内的框架

时间:2014-07-30 23:00:30

标签: java apache-pivot

我是Apache Pivot的新手。

我正在尝试用菜单栏创建一个简单的窗口。

我用来加载主框架的代码是:

public class MyApp implements Application {
    private Frame frame;

    @Override
    public void startup(Display display, Map<String, String> strings) throws Exception {
        BXMLSerializer bxmlSerializer = new BXMLSerializer();
        frame = (Frame)bxmlSerializer.readObject(MyApp.class, "/gui/MainFrame.bxml");
        frame.open(display);
    }

    @Override
    public boolean shutdown(boolean b) throws Exception {
        if(frame != null) {
            frame.close();
        }

        return false;
    }

    @Override
    public void suspend() throws Exception {

    }

    @Override
    public void resume() throws Exception {

    }

    public static void main(String[] args) {
        DesktopApplicationContext.main(MyApp.class, args);
    }
}

主框架BXML如:

<root:MainFrame title="MyApp" maximized="true"
        xmlns:bxml="http://pivot.apache.org/bxml"
        xmlns="org.apache.pivot.wtk"
        xmlns:root="com.myproject.client">

    <menuBar>
        <bxml:include src="wtk/menubar.bxml"/>
    </menuBar>
</root:MainFrame>

MainFrame.java就像:

public class MainFrame extends Frame implements Bindable {
    public MainFrame() {
        Action.getNamedActions().put("myaction1", new Action() {
            @Override
            public void perform(Component source) {
                 ......
            }
        });
    }
}

此代码的结果如下图所示:

enter image description here

正如您所看到的,外面有一个Mac窗口,里面有一个框架窗口。

我的问题是如何摆脱系统窗口或摆脱框架窗口以便只显示一个窗口?

非常感谢。

1 个答案:

答案 0 :(得分:0)

我发现2012 mailing list post暗示Pivot不支持本机菜单,因此您的应用将始终存在于系统窗口中。

但是,该邮件列表帖子确实建议使用Java AWT Frame来获取系统菜单。