我正在开发一个小应用程序,在创建菜单栏时遇到了一个问题。这是我的开始方法:
public void start(@SuppressWarnings("exports") Stage prymaryStage) throws Exception {
// Stats menu
Menu statsMenu = new Menu("Stats");
// PairName menu
Menu pairNameMenu = new Menu("Choose pair");
// Stats Menu items
MenuItem gStats = new MenuItem("General stats");
// Pair list
ArrayList<String> pairNameList = DatabaseMethods.returnPairNameList();
// PairName items (probably i will have to change)
for (String item : pairNameList) {
pairNameMenu.getItems().add(new MenuItem(item));
}
statsMenu.getItems().addAll(gStats, pairNameMenu);
// Main menu bar
MenuBar menuBar = new MenuBar();
menuBar.getMenus().addAll(statsMenu);
// BorderPane settings
BorderPane borderPane = new BorderPane();
borderPane.setTop(menuBar);
Scene scene = new Scene(borderPane, 1200, 800);
prymaryStage.setTitle("English minimal pair training");
prymaryStage.setScene(scene);
prymaryStage.show();
}
我遇到的问题在代码的这一部分:
ArrayList<String> pairNameList = DatabaseMethods.returnPairNameList();
// PairName items (probably i will have to change)
for (String item : pairNameList) {
pairNameMenu.getItems().add(new MenuItem(item));
}
我试图从数组列表中创建子菜单的条目。这些数据从数据库中获取,并以数组列表的形式返回。除了pairNameMenu.getItems()之外,我没有找到其他方法来做菜单项。add(new MenuItem(item));在for循环中。
现在我想处理项目中的点击,但我不知道如何操作。我试过使用. setOnAction,但Eclipse说. add(new MenuItem(item))在这种情况下无法使用,并建议使用. addAll,同样的情况也会发生,Eclipse说这是一个错误并建议. add。我尝试在new MenuItem(item)之后添加此代码。
.addEventHandler(new EventHandler<ActionEvent>() {
public void handle(ActionEvent even) {
}
})
但是也没用。
我对Java和JavaFX很陌生,这是我的第一个项目,如果这是一个非常基本的问题,那么很抱歉。
谢谢你的时间
在创建并将所有项目添加到pairNameMenu
后,您必须循环浏览pairNameManu
项:
pairNameMenu.getItems().foreach((item) ->{
item.addEventHandler.....
....
....
});
或在创建菜单项
时执行如下操作:
for (String item : pairNameList) {
MenuItem tempMenuItem = new MenuItem(item);
tempMenuItem..addEventHandler.....
....
....
pairNameMenu.getItems().add(tempMenuItem);
}
8.2.4.更新选项菜单的事件处理 要捕获新条目的点击事件,我们需要更新StatusActivity中的onOptionsItemSelected()方法,这跟我们在"更新StatusActivity,装载菜单"一节中所做的一样。打开 StatusActivity.java 文件,找到onOptionsItemSelected方法。现在里边已经有了为不同条目提供支持的大体框架,要增加两个“启动 S
我是javafx新手,目前正在做菜单,menuitems。我希望覆盖显示上下文菜单的默认事件,即使菜单没有被按下,但鼠标悬停在它上面,而相邻菜单的上下文菜单显示时,当前仍会显示。这发生在每个应用程序中,因为它非常方便。但由于某种原因,我不需要它。我试图捕获菜单上的鼠标事件,这样我就可以相应地工作,但什么也没发生。 这里是我想要添加此行为的菜单。
我有一个非常基本的JavaFX项目,只有一个锚窗格和一个标签。这个想法是当你按下键盘上的一个按钮时,标签就会变成你按下的键。
问题内容: 嘿,我是Java的初学者,而且我只是做了很短的时间,无论如何,对于我的Java基础项目,我需要用gui做一个简单的计算器,我想不是那样的辛苦但是我有点错:P我已经尽了最大的努力(我认为),但是在操作的事件处理和设置要计算的值上陷入了atm,这是我的代码,请您给我一些建议或技巧关于如何做到这一点:D 我的处理程序只是基本的处理程序,它们将数字打印到控制台中,因此您可以不理会它们,我看到了
我已经创建了一个类,它扩展了JavaFX的MenuBar,为我的应用程序创建了菜单栏。 默认情况下,我不会禁用专门的操作,比如打开/保存文件和运行模拟(它们确实是禁用的)。当用户运行应用程序时,他们可以在菜单文件中选择一个项目 我计划通过让每个组件给出它切换到的项目的列表来做到这一点,然后在创建组件时激活适当的项目。 但是,我不能从函数内部访问菜单列表(我尝试用< code>this.getMen
主要内容:创建菜单和菜单项,指定菜单项,菜单事件处理程序,关键助记符,键组合,上下文菜单菜单是桌面应用程序选择选项的标准方法。 菜单和菜单项可以与选择选项快捷键组合,称为键盘快捷键。 创建菜单和菜单项 必须创建一个菜单栏对象来保存对象。 菜单对象可以包含和对象。菜单可以包含其他菜单作为子菜单。是对象内的子选项。 以下代码显示如何创建菜单栏并添加菜单和菜单项。 类是的子类,它有一个方法,它能够添加诸如其他和实例的子元素。 上面的代码生成以下结果。 指定菜单项 要将选中的选项或单选按钮添