我是JavaFX的新手,我正在将我的第一个应用程序变成一个简单的子手游戏,因为这是我之前在摇摆中所做的。
在游戏中,我已经构造了一个键盘,但是我不知道在游戏开始时如何使所有按钮都“不集中”,所以看起来像这样
注意“ Q”如何变暗。我考虑过使用jankey方法,就像在场景外设置一个按钮,除了充当默认的焦点按钮外什么也不做,但是我真的很想知道执行此操作的正确方法。我所有的研究都只讲了如何使特定按钮聚焦。
非常感谢愿意帮助的人。
答案 0 :(得分:1)
您有正确的想法。创建一个屏幕外按钮,并确保它具有开始焦点。
答案 1 :(得分:1)
我认为@Sedrick提到的是正确的。默认情况下,您可以只关注任何布局节点。
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class DefaultFocusDemo extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
VBox root = new VBox();
root.setAlignment(Pos.CENTER);
root.setSpacing(20);
Scene sc = new Scene(root, 500, 500);
primaryStage.setScene(sc);
primaryStage.show();
ToggleButton btn1 = new ToggleButton("Button 1");
ToggleButton btn2 = new ToggleButton("Button 2");
ToggleButton btn3 = new ToggleButton("Button 3");
ToggleButton btn4 = new ToggleButton("Button 4");
HBox hb1 = new HBox();
hb1.setAlignment(Pos.CENTER);
hb1.getChildren().addAll(btn1, btn2);
HBox hb2 = new HBox();
hb2.setAlignment(Pos.CENTER);
hb2.getChildren().addAll(btn3, btn4);
root.getChildren().addAll(hb1, hb2);
hb1.requestFocus();
}
}