gpt4 book ai didi

JavaFX 按钮不执行任何操作

转载 作者:行者123 更新时间:2023-11-30 02:17:41 25 4
gpt4 key购买 nike

我是javafx初学者,我正在尝试制作一个菜单,当有人单击menitem时,它会打印出文本我有这些代码

package sam;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

/**
*
* @author devby
*/
public class SaM extends Application {

@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("home.fxml"));

Scene scene = new Scene(root);

stage.setScene(scene);
stage.show();
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}

}

我的 Controller 看起来像这样

package sam;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;

/**
*
* @author devby
*/
public class homeController implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
//TODO
}

@FXML
public void callHome(ActionEvent event) {
System.out.println("Clicked on menu Home");
}

}

我的 fxml 文件如下所示

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.layout.AnchorPane?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="401.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sam.homeController">
<children>
<MenuBar layoutY="2.0" prefHeight="26.0" prefWidth="600.0" AnchorPane.bottomAnchor="372.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="2.0">
<menus>
<Menu mnemonicParsing="false" onAction="#callHome" text="Home" />
<Menu mnemonicParsing="false" text="Library">
<items>
<MenuItem mnemonicParsing="false" text="Movies" />
<MenuItem mnemonicParsing="false" text="Serials" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Online" />
<Menu mnemonicParsing="false" text="Download" />
<Menu mnemonicParsing="false" text="Settings" />
</menus>
</MenuBar>
</children>
</AnchorPane>

当我运行该程序并单击“主页”菜单按钮时,它什么也不做。我正在使用 javafx 8,IDE 是 netbeans,我正在使用 Scene Builder 构建 GUI有人可以帮忙吗?

<小时/>

新闻:我添加了一个按钮并尝试了他。它工作正常,所以可能是菜单有问题

最佳答案

我认为 Menu 不能绑定(bind)到 onAction,但 MenuItem 可以!

关于JavaFX 按钮不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47799192/

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