前提・実現したいこと
※先程の記載の説明が不足していたため、改めて補足致します。
下記のソースコードの通り、+= を用いて加算演算を行えるようにしたのですが、iが0の状態で、1回押しても数字が反映されず2回目で反映される形になります。
1回目で、反映させたいのですが、この場合の改善策を教えて頂くことをお願いすることは出来ますでしょうか?
よろしくお願いします。
発生している問題・エラーメッセージ
1回目で押すと、数値が反映されず、2回目で反映されます。
該当のソースコード
javafx
1 2import java.io.IOException; 3 4import javafx.application.Application; 5import javafx.scene.Scene; 6import javafx.scene.control.Button; 7import javafx.scene.control.Label; 8import javafx.scene.layout.BorderPane; 9import javafx.scene.layout.HBox; 10import javafx.stage.Stage; 11 12public class aaa extends Application{ 13 private Label lb; 14 private Button bt,bt1,bt2,bt3,bt4; 15 private int i; 16 public static void main(String[]args) { 17 launch(args); 18 } 19 public void start(Stage stage)throws IOException{ 20 lb = new Label("数値;"+i); 21 bt = new Button("1up"); 22 bt1 = new Button("2up"); 23 bt2 = new Button("3up"); 24 bt3 = new Button("4up"); 25 bt4 = new Button("5up"); 26 HBox hb = new HBox(); 27 hb.getChildren().add(bt); 28 hb.getChildren().add(bt1); 29 hb.getChildren().add(bt2); 30 hb.getChildren().add(bt3); 31 hb.getChildren().add(bt4); 32 BorderPane bp = new BorderPane(); 33 34 bp.setCenter(lb); 35 bp.setBottom(hb); 36 37 Scene sc = new Scene(bp,300,300); 38 stage.setScene(sc); 39 stage.show(); 40 bt.setOnAction(ae -> { 41 lb.setText("数値;"+(i)); 42 i += 1; 43 }); 44 bt1.setOnAction(ae1 -> { 45 lb.setText("数値;"+(i)); 46 i += 2; 47 }); 48 bt2.setOnAction(ae2 -> { 49 lb.setText("数値;"+(i)); 50 i += 3; 51 }); 52 bt3.setOnAction(ae3 -> { 53 lb.setText("数値;"+(i)); 54 i += 4; 55 }); 56 bt4.setOnAction(ae4 -> { 57 lb.setText("数値;"+(i)); 58 i += 5; 59 }); 60 } 61} 62
補足情報(FW/ツールのバージョンなど)
jdk14
回答1件
あなたの回答
tips
プレビュー