2015-12-05 5 views
1

Я создал пользовательский MenuBar в моем эскизе обработки (используя Eclipse в качестве моей IDE), но он не отображается. Вот MacOSX MenuBar:Обработка пользовательского MenuBar не отображается

A MenuBar on a Mac

Ниже мой код. Проект называется ProcessingTrials, а класс называется ProcessingSketch под пакетом com.kritixilithos.trials. Я запускаю программу как приложение Java. Я создал меню File и Save... выпадающее меню MenuItem под номером File.

//package and imports 
package com.kritixilithos.trials; 
import java.awt.Dimension; 
import java.awt.Menu; 
import java.awt.MenuBar; 
import java.awt.MenuItem; 
import java.awt.Toolkit; 
import processing.core.*; 

import processing.core.*; 

public class ProcessingSketch extends PApplet{ 
    public void settings() { 
     //size of Processing sketch 
     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
     double width = screenSize.getWidth(); 
     double height = screenSize.getHeight(); 
     size((int)width, (int)height);//"full screen" with menu bar showing 
    } 

    public void buildMenuBar() { 
     //code for menubar 
     MenuBar menuBar; 
     Menu menu; 
     MenuItem menuItem; 

     menuBar = new MenuBar(); 

     menu = new Menu("File"); 
     menuBar.add(menu); 

     menuItem = new MenuItem("Save..."); 

     menu.add(menuItem); 
     menuBar.add(menu); 
     menuBar.setName("MenuBar"); 
     frame.setMenuBar(menuBar); 
    } 

    public void setup() { 
     background(0); 
     buildMenuBar(); 
    } 
    //the draw method 
    public void draw() { 

     text("Hello World!",100,100); 
    } 
    //main method 
    public static void main(String args[]) { 
     System.setProperty("apple.laf.useScreenMenuBar", "true"); 
     System.setProperty("com.apple.mrj.application.apple.menu.about.name", "something"); 
     PApplet.main(new String[] {"com.kritixilithos.trials.ProcessingSketch"}); 
     System.setProperty("apple.laf.useScreenMenuBar", "true"); 
     System.setProperty("com.apple.mrj.application.apple.menu.about.name", "something"); 
    } 
} 

Это результат программы:

Screenshot of result

Выше (в верхнем левом углу), вы можете увидеть, что нет File меню. Я ожидал, что там будет File Меню в MenuBar, но его нет.

Мой вопрос: я сделал ошибку в своей программе, которая не создает меню, или это просто потому, что обработка PApplet не поддерживает добавление пользовательского MenuBar?

Некоторые технические детали:

  • Я использую Java SE версии 1.8
  • OS моего компьютера является Mac OS X 10.10.2
  • Я использую версию 3.0.1 Processing'S core.jar в Затмении

Примечание: В консоли не было ошибок и функция draw работал отлично.

Любая помощь для решения этой проблемы (чтобы меню отображалось в MenuBar) будет оценено по достоинству.

+0

Ваш 'рисовать()' функцию будучи срабатывает правильно? Вы видите какие-либо ошибки в консоли? –

+0

@KevinWorkman Функция 'draw' работает правильно и ошибок нет в консоли. –

ответ

0

Я хотел бы попробовать положить это в качестве первой линии в основном методе:

System.setProperty("apple.laf.useScreenMenuBar", "true"); 
+0

Нет, он все еще не работает ... –

Смежные вопросы