【问题标题】:Calling class with swing menu and menuitem objects使用 swing menu 和 menuitem 对象调用类
【发布时间】:2014-09-03 19:13:22
【问题描述】:

我需要你的帮助:)。这是我在此的头一篇博文。我正在尝试为我的 JFrame 创建一个菜单栏作为单独的类,我将从单独的类 MainBar 中调用它。我怎样才能做到这一点?我尝试使用下面列出的代码并调用 new MainBar() 但我总是只得到带有菜单的 JFrame,上面没有项目。

我在这里错过了退货声明吗?所有提示都表示赞赏。谢谢!

public class MainBar extends JMenu{

    public  MainBar() { //What is return from this method? Component?


    // Bar Menu
    final WebMenuBar mainBar = new WebMenuBar();
    mainBar.setMenuBarStyle(MenuBarStyle.standalone);

    // Bar Menu Items
    JMenu fileMenu = new JMenu("File");
    JMenuItem exitMenuItem = new JMenuItem("Exit");
    fileMenu.add(exitMenuItem);

    JMenu editMenu = new JMenu("Edit");
    JMenuItem cutMenuItem = new JMenuItem("Cut");
    editMenu.add(cutMenuItem);
    JMenuItem copyMenuItem = new JMenuItem("Copy");
    editMenu.add(copyMenuItem);

    JMenu viewMenu = new JMenu("View");
    JMenu settingsMenu = new JMenu("Settings");
    JMenu helpMenu = new JMenu("Help");

    // adding menu items to bar menu
    mainBar.add(fileMenu);
    mainBar.add(editMenu);
    mainBar.add(viewMenu);
    mainBar.add(settingsMenu);
    mainBar.add(helpMenu);

   // should I put here return statement like return mainBar; ?
}

}

【问题讨论】:

  • 乍一看,您似乎是在与菜单类本身内联地创建它。在此之前您可能会看到其他生成菜单的代码吗?查看上一个问题的示例,stackoverflow.com/questions/7555677/…
  • 感谢您的回复。不,这是生成 JMenu 和 JMenuItems 的唯一代码。如果它与 JFrame 在同一类中,则它的工作和显示菜单和项目正常。链接中的那个例子根本没有帮助我,不同的故事:-)

标签: java swing user-interface jmenu jmenubar


【解决方案1】:

没关系,我想出了答案:

public class MainBar extends WebMenuBar{

public  MainBar() { 


// Bar Menu
final WebMenuBar mainBar = new WebMenuBar();
mainBar.setMenuBarStyle(MenuBarStyle.standalone);

// Bar Menu Items
JMenu fileMenu = new JMenu("File");
JMenuItem exitMenuItem = new JMenuItem("Exit");
fileMenu.add(exitMenuItem);

JMenu editMenu = new JMenu("Edit");
JMenuItem cutMenuItem = new JMenuItem("Cut");
editMenu.add(cutMenuItem);
JMenuItem copyMenuItem = new JMenuItem("Copy");
editMenu.add(copyMenuItem);

JMenu viewMenu = new JMenu("View");
JMenu settingsMenu = new JMenu("Settings");
JMenu helpMenu = new JMenu("Help");

// adding menu items to bar menu
add(fileMenu);
add(editMenu);
add(viewMenu);
add(settingsMenu);
add(helpMenu);


}

现在,当我使用 MainBar 从另一个类调用它时 mainBar = new MainBar();它生成菜单栏及其所有元素。还是谢谢你们!

【讨论】:

    猜你喜欢
    • 2015-04-20
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多