gpt4 book ai didi

java - 处理自定义菜单栏不显示

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:35 25 4
gpt4 key购买 nike

我在我的处理草图中创建了一个自定义菜单栏(使用 Eclipse 作为我的 IDE),但它没有显示。这是一个 MacOSX 菜单栏:

A MenuBar on a Mac

下面是我的代码。该项目名为 ProcessingTrials,该类名为 ProcessingSketch,位于 com.kritixilithos.Trials 包下。我正在将程序作为 Java 应用程序运行。我在 File 下创建了一个 File 菜单和一个 Save... 下拉菜单项。

//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

在上方(左上角),您可以看到没有文件菜单。我预计 MenuBar 中会有一个 File 菜单,但实际上没有。

我的问题是这样的:我的程序中是否犯了一个没有使菜单出现的错误,或者仅仅是因为处理 PApplet 不支持添加自定义菜单栏?

一些技术细节:

  • 我使用的是 Java SE 版本 1.8
  • 我的计算机操作系统是 Mac OS X 10.10.2
  • 我在 Eclipse 中使用处理版本 3.0.1 的 core.jar

注意:控制台中没有错误,并且 draw 功能运行正常。

任何解决此问题的帮助(使菜单出现在菜单栏中)将不胜感激。

最佳答案

我会尝试将其作为主方法中的第一行:

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

关于java - 处理自定义菜单栏不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34110218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com