Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing和Mac视图_Java_Macos_Swing - Fatal编程技术网

Java Swing和Mac视图

Java Swing和Mac视图,java,macos,swing,Java,Macos,Swing,我正在使用Java和Swing进行培训,在Windows中GUI显示正确,而在MAC上则存在一些问题。 JMenuBar显示在窗口中,而应该显示在MAC栏[finder]中 JMenuBar的代码: JMenuBar menuBar = new JMenuBar(); preferenceItem.addMouseListener(this); printItem.addMouseListener(this); menuBar

我正在使用Java和Swing进行培训,在Windows中GUI显示正确,而在MAC上则存在一些问题。
JMenuBar
显示在窗口中,而应该显示在MAC栏[finder]中

JMenuBar的代码:

        JMenuBar menuBar = new JMenuBar();

        preferenceItem.addMouseListener(this);
        printItem.addMouseListener(this);

        menuBar.add(fileMenu);
        fileMenu.add(openItem);
        fileMenu.add(printItem);
        fileMenu.add(exportItem);

        menuBar.add(optionMenu);
        optionMenu.add(preferenceItem);

        setJMenuBar(menuBar);

另一个问题是如何显示两个面板。正如您在前面的图像备份按钮中所看到的,第二个面板中的按钮显示在第一个面板的上方

public OptionDialog(){
        super();

        setTitle(NOME_APPLICAZIONE);

        Dimension dimensioni = Toolkit.getDefaultToolkit().getScreenSize();
        setLocation((int)(dimensioni.getWidth()/2-getWidth()/2), (int)(dimensioni.getHeight()/2-getHeight()/2));
        this.setVisible(true);
        this.add(pnlDialog, BorderLayout.NORTH);
        this.add(pnlDialogBackup, BorderLayout.SOUTH);


        pnlDialog.setBorder(general);

        GridLayout grid = new GridLayout(7,2,20,5);
        pnlDialog.setLayout(grid);

        pnlDialog.add(lblLingua);
        pnlDialog.add(Language);
        pnlDialog.add(lblCarattere);
        pnlDialog.add(Char);
        pnlDialog.add(lblOrdinamento);
        pnlDialog.add(Order);
        pnlDialog.add(lblScadenza);
        pnlDialog.add(Scadenza);
        pnlDialog.add(lblNotifica);
        pnlDialog.add(Notifica);
        pnlDialog.add(lblTempo);
        pnlDialog.add(Time);
        pnlDialog.add(Applica,BorderLayout.PAGE_END);


        pnlDialogBackup.setBorder(backup);
        pnlDialogBackup.add(Backup);


        Notifica.addItemListener(this);

        lblTempo.setVisible(false);
        Time.setVisible(false);
        setSize(new Dimension(300, 300));
        setResizable(false);
}

1) 也许有人能帮你弄菜单。2) 而不是
setSize(新尺寸(300300))尝试使用
pack()
方法。更多。我已经解决了视图问题,但现在当我单击“preferenceItem”时,它不会显示新的JDialog。(未执行任何事件)