java - 当鼠标悬停在JavaFX中的按钮上时如何创建节点(圆形)?

标签 java javafx controller javafx-8 fxml

我有一个 FXML 文件、一个 CSS 文件和一个 Controller.java 文件。当鼠标悬停在 FXML 文件中的按钮上时,

例如fx:id="负载"

如何在舞台上创建圆形节点?

我目前正在这样做:

注意:FXML 和 Controller 是链接的,并且所有导入都会被考虑在内。

// FXML:

<Button fx:id="load" layoutX="146.0" layoutY="307.0" mnemonicParsing="false"\
onMouseEntered="#hoverEnterLoad" onMouseExited="#hoverExitLoad"\
prefHeight="26.0" prefWidth="93.0" stylesheets="@title.css" />

// Controller:

public Controller {

    @FXML private Button load;
    private Circle choose = new Circle(210.0, 278.0, 15.0, Color.TRANSPARENT);

    /**                                                                                                                                                                              
     * Shows circle                                                                                                                                                                
     */
    @FXML void hoverEnterLoad(ActionEvent event) {
        choose.setCenterX(210.0);
        choose.setCenterY(278.0);
        choose.setFill(Color.BLACK);
        choose.setRadius(15.0);
    } // hoverEnterLoad                                                                                                                                                               

    /**                                                                                                                                                                              
     * Hides circle                                                                                                                                                                
     */
    @FXML void hoverExitLoad(ActionEvent event) {
        choose.setFill(Color.TRANSPARENT);
    } // hoverExitLoad

} // Controller

最佳答案

您可以完全在 FXML 中完成此操作:

<Button fx:id="load" layoutX="146.0" layoutY="307.0" mnemonicParsing="false"\
onMouseEntered="#hoverEnterLoad" onMouseExited="#hoverExitLoad"\
prefHeight="26.0" prefWidth="93.0" stylesheets="@title.css" />
<Circle fx:id="selector" centerX="255.0" centerY="291.0" fill="BLACK" radius="5.0" stroke="TRANSPARENT" strokeType="INSIDE" visible="${load.hover}" />

关于java - 当鼠标悬停在JavaFX中的按钮上时如何创建节点(圆形)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28841877/

相关文章:

java - 将 PATH 保存到文件

php - Symfony2 : Solution for repeating a code within each new controller

ruby-on-rails - RoR : NameError: Uninitialized constant (Service)

Java 2D - 散点图 - 点不渲染

JavaFX 用更少的代码检测按钮点击

java - 如何为 SFTP (Java) 创建帐户或用户?

javafx - 如何在JavaFX中设置 ListView 边框

asp.net-mvc-3 - 在MVC3中,如何获取当前 Controller 名称?

java - 工具栏中的图标不出现

java - 在Java中使用 "saveToFile"方法需要导入什么类?