我在Processing sketch中创建了一个自定义MenuBar(使用Eclipse作为我的IDE),但它没有显示。 这是一个MacOSX MenuBar:
以下是我的代码。该项目名为ProcessingTrials
,该类在包ProcessingSketch
下名为com.kritixilithos.trials
。我正在将程序作为Java应用程序运行。我在File
下创建了Save...
菜单和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");
}
}
这是该计划的结果:
在上方(左上角),您可以看到没有File
菜单。我希望File
中有一个MenuBar
菜单,但没有。
我的问题是:我的程序中是否出现了错误,导致菜单无法显示,或者只是因为处理PApplet
不支持添加自定义菜单栏?
一些技术细节:
注意:控制台中没有错误,core.jar
功能运行正常。
任何帮助解决此问题(使菜单显示在MenuBar中)将不胜感激。
答案 0 :(得分:0)
我会尝试将其作为main方法的第一行:
System.setProperty("apple.laf.useScreenMenuBar", "true");