Java 单击按钮,红点应闪烁

Java 单击按钮,红点应闪烁,java,javafx,Java,Javafx,我有一个fontawesomeicon。如果我按下按钮btStart,Fontawesomeicon上会闪烁一个红色圆圈(参见GIF)。如果我按下按钮btStop,它应该被禁用。 我用标签试过了。 当我按下按钮btStart时,标签会在一个时间间隔内以SetVisible(true)和SetVisible(false)的形式更改 有人能给我一个解决办法吗?先谢谢你。 Main.java package sample; import javafx.application.Application

我有一个fontawesomeicon。如果我按下按钮
btStar
t,Fontawesomeicon上会闪烁一个红色圆圈(参见GIF)。如果我按下按钮
btStop
,它应该被禁用。 我用标签试过了。 当我按下按钮btStart时,标签会在一个时间间隔内以
SetVisible(true)
SetVisible(false)
的形式更改

有人能给我一个解决办法吗?先谢谢你。 Main.java

package sample;

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

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}
Controller.java

package sample;

import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;

import java.awt.*;

public class Controller {

    @FXML
    private FontAwesomeIconView iconCamera;

    @FXML
    private Button btStart;

    @FXML
    private Button btStop;

    @FXML
    void mouseCklicked(ActionEvent event) {
        System.out.println("sad");

    }
}
sample.fxml

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

<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>


<GridPane alignment="center" hgap="10" vgap="10" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.141" fx:controller="sample.Controller">
   <columnConstraints>
      <ColumnConstraints />
   </columnConstraints>
   <rowConstraints>
      <RowConstraints />
   </rowConstraints>
   <children>
      <AnchorPane prefHeight="387.0" prefWidth="573.0">
         <children>
            <FontAwesomeIconView fx:id="iconCamera" glyphName="VIDEO_CAMERA" layoutX="130.0" layoutY="123.0" size="36" />
            <Button layoutX="253.0" layoutY="93.0" mnemonicParsing="false" onAction="#mouseCklicked" text="Start" />
            <Button layoutX="354.0" layoutY="93.0" mnemonicParsing="false" text="Stop" />
         </children>
      </AnchorPane>
   </children>
</GridPane>

  • 创建一个没有红点的图像(PNG)
  • 创建具有红点闪烁效果的GIF
  • 将两个图像导入到项目中
  • 按开始键时,将图像设置为*.GIF
  • 按停止键时,将图像设置为*.PNG

简单。不要把事情搞复杂了

我建议只为相机(黑色部分)创建一个图像/SVG,并使用
时间线
显示/隐藏一个红色圆圈。这样,您就不需要创建多个图像。此外,你还可以通过编程轻松地调整眨眼频率…@fabian画一个红色圆圈不是问题,但我如何才能让红色圆圈精确到正确的位置?当我有一个图标时,为什么要拍照?我如何使圆圈在
时间线
下闪烁?@JoeMau你根本不想要一个
时间线