public TestNoScreenMenuBar()
{ try {
robot = new Robot();
robot.setAutoDelay(50);
} catch (AWTException ex) { thrownew RuntimeException(ex);
}
// activate another java application
openOtherApplication();
robot.delay(2000);
// The failure mode is installing the default menu bar while the application is inactive
Desktop desktop = Desktop.getDesktop();
desktop.setDefaultMenuBar(createMenuBar());
JMenuBar createMenuBar()
{
JMenuBar mb = new JMenuBar(); // A very long name makes it more likely that the robot will hit the menu
JMenu menu = new JMenu("TestTestTestTestTestTestTestTestTestTest");
mb.add(menu);
JMenuItem item = new JMenuItem("TestTestTestTestTestTestTestTestTestTest");
item.addActionListener(ev -> {
isActionPerformed = true;
});
menu.add(item); return mb;
}
privatevoid performMenuItemTest()
{ // Find the menu on the screen menu bar // The location depends upon the application name which is the name of the first menu. // Unfortunately, the application name can vary based on how the application is run. // The work around is to make the menu and the menu item names very long.
int menuBarX = 250; int menuBarY = 11; int menuItemX = menuBarX; int menuItemY = 34;
publicstaticvoid main(String[] args)
{ if (!System.getProperty("os.name").contains("OS X")) {
System.out.println("This test is for MacOS only. Automatically passed on other platforms."); return;
} if (args.length != 0) {
Frame frame = new Frame();
MenuBar mb = new MenuBar();
mb.add(new Menu("Hello"));
frame.setMenuBar(mb);
frame.setSize(300, 300);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.toFront(); return;
}
System.setProperty("apple.laf.useScreenMenuBar", "true"); try {
runSwing(() -> theTest = new TestNoScreenMenuBar());
theTest.performMenuItemTest();
} finally { if (theTest != null) {
runSwing(() -> theTest.dispose());
}
}
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.10Bemerkung:
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.