Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ProgressBar作为健康javafx_Java_Javafx - Fatal编程技术网

ProgressBar作为健康javafx

ProgressBar作为健康javafx,java,javafx,Java,Javafx,首先是我的代码,下面是解释: GridPane gp = new GridPane(); gp.setAlignment(Pos.TOP_CENTER); ProgressBar pb1 = new ProgressBar(1); ProgressBar pb2 = new ProgressBar(1); Button btn1 = new Button("Player 1"); Button btn2 = new Button("Player 2"); gp.add(pb1, 1, 0);

首先是我的代码,下面是解释:

GridPane gp = new GridPane();
gp.setAlignment(Pos.TOP_CENTER);

ProgressBar pb1 = new ProgressBar(1);
ProgressBar pb2 = new ProgressBar(1);
Button btn1 = new Button("Player 1");
Button btn2 = new Button("Player 2");

gp.add(pb1, 1, 0);
gp.add(pb2, 2, 0);
gp.add(btn1, 1, 1);
gp.add(btn2, 2, 1);

btn1.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        pb2.setProgress(pb2.getProgress() - 0.1);
    }
});

btn2.setOnAction(e -> {
    pb1.setProgress(pb1.getProgress() - 0.1);
});

Scene scene = new Scene(gp, 250, 200);
primaryStage.setResizable(false);
primaryStage.setScene(scene);
primaryStage.show();
GridPane gp=new GridPane();
总成设置对齐(位置顶部\中心);
ProgressBar pb1=新的ProgressBar(1);
ProgressBar pb2=新的ProgressBar(1);
按钮btn1=新按钮(“播放器1”);
按钮btn2=新按钮(“播放器2”);
加总蛋白(pb1,1,0);
加总蛋白(pb2,2,0);
普通添加(btn1,1,1);
添加总成(btn2,2,1);
btn1.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
pb2.setProgress(pb2.getProgress()-0.1);
}
});
btn2.设定动作(e->{
pb1.setProgress(pb1.getProgress()-0.1);
});
场景=新场景(gp,250200);
primaryStage.SetResizeable(假);
初级阶段。场景(场景);
primaryStage.show();
好的,你们可以看到我有两个进度条(健康)和两个按钮。当我点击Player1时,程序需要减少player2上的进度条(随机值,我把0.1作为随机值,因为我对随机有问题),在另一侧,player2上也是如此

所以,我的问题是:

  • 如何编制减少随机值的程序
  • 当我缩小到进度条的末尾时,我得到了一条从左到右不停的蓝线
  • 结束,我要打印在程序结束时获胜的消息

谢谢大家!!如果我解释了一些不好的东西,对不起,也对不起糟糕的英语

关于第二点,当进度不确定时(即
进度<0
),使用动画蓝线。为了防止这种情况发生,不要让进度降到零以下。好的,我理解你的意思,但是你能在代码方面帮我一点忙吗,我对javafx很新。我生成随机值,我只需要在我的值降到零以下时修复它,你还在吗?一个选项是
setHealth(Math.max(0.0,newHealth))
。好的,它不太好,没关系,当用户为零时,您能帮助mi吗?当用户的“运行状况”为零时,我会使用带有消息的if语句,但当我运行它时,程序会向我发送消息。根据第二点,当进度不确定时(即
进度<0
)会使用动画蓝线。为了防止这种情况发生,不要让进度降到零以下。好的,我理解你的意思,但是你能在代码方面帮我一点忙吗,我对javafx很新。我生成随机值,我只需要在我的值降到零以下时修复它,你还在吗?一个选项是
setHealth(Math.max(0.0,newHealth))
。好的,它不太好,没关系,当用户为零时,您能帮助mi吗?当用户的“运行状况”为零时,我用消息生成if语句,但当我运行该语句时,程序会向我发送消息