2
前的GUI我在Netbeans中7.3.1的使用JavaFX有點麻煩如何要求用戶輸入。我正在嘗試製作一款可以擲骰子的遊戲。該程序應該詢問用戶是否合理,以及其他信息(如邊數)以初始化骰子。點擊滾動按鈕時,它將滾動模具。JavaFX的:顯示
我的問題是,由於忽略了JavaFX的主要程序時,它會啓動一個圖形用戶界面,我不知道在哪裏(或如何)要求用戶在GUI上加載之前這些信息。
public class DiceGame extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Roll Die!");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
//
// code for rolling a die goes here.
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("Dice Game");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be
* launched through deployment artifacts, e.g., in IDEs with limited FX
* support. NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
//ask user for n value to initialize a die object before the javafx ui is launched.
System.out.println("Is your die loaded or fair? *Input 1 for fair and 2 for loaded* ");
Scanner fair_or_loaded = new Scanner(System.in); //Determines fair or loaded die.
int input = fair_or_loaded.nextInt();
if (input == 1) {
System.out.println("Input an N value for a fair die: ");
Scanner user_input = new Scanner(System.in); //Created a fair die.
int n = user_input.nextInt();
Die D1 = new Die(n); //User created die.
} else { //Loaded die is created. Need Scanner for loadedSide and LoadFactor.
System.out.println("Input an N value for a loaded die: ");
Scanner loaded_n_input = new Scanner(System.in);
int loaded_n = loaded_n_input.nextInt(); //loaded n value created
System.out.println("Input a side to be loaded: ");
Scanner user_side = new Scanner(System.in);
int side_loaded = user_side.nextInt(); //loaded side created
System.out.println("Input a load factor: ");
Scanner user_load = new Scanner(System.in);
int factor_load = user_load.nextInt(); //load factor created
LoadedDie DL = new LoadedDie(loaded_n, side_loaded, factor_load); //Loaded die is created.
}
launch(args);
}
}
非常感謝!
這解決了它!非常感謝您的幫助! – user2852171
@ user2852171沒問題。 – berry120