我的主要课程已经开始了第一阶段,我想通过button_info启动另一个阶段,我写给另一个课程的代码。即使FMXL更好,我也不使用FXML,只使用经典的JavaFx。任何的想法 ?感谢。
mainclass
public class StartClass extends Application {
@Override
public void start(Stage primaryStage) {
/*******************************
* Incialization of variables *
*******************************/
final Group group = new Group();
final TransactionWindows tw = new TransactionWindows();
final InfoWindow iw = new InfoWindow();
/*******************************
* Button *
*******************************/
final Button button_zacit = new Button ();
button_zacit.setText("Začít");
button_zacit. setPrefHeight(30);
button_zacit.setPrefWidth(103);
button_zacit.setLayoutX(255);
button_zacit.setLayoutY(150);
group.getChildren().add(button_zacit);
final Button button_info = new Button ();
button_info.setText("Info");
button_info. setPrefHeight(30);
button_info.setPrefWidth(103);
button_info.setLayoutX(255);
button_info.setLayoutY(217);
group.getChildren().add(button_info);
final Button button_konec = new Button ();
button_konec.setText("Konec");
button_konec. setPrefHeight(30);
button_konec.setPrefWidth(103);
button_konec.setLayoutX(255);
button_konec.setLayoutY(285);
group.getChildren().add(button_konec);
/*******************************
* Text *
*******************************/
final Text text_uvod = new Text ();
text_uvod.setText("Vítejte ve hře Guess Word");
text_uvod.setLayoutX(78);
text_uvod.setLayoutY(57);
text_uvod.setTextAlignment(TextAlignment.CENTER);
text_uvod.setFont(new Font(30));
group.getChildren().add(text_uvod);
/*******************************
* Methods of Button *
*******************************/
button_konec.setOnAction(new EventHandler<ActionEvent> () {
@Override
public void handle(ActionEvent t) {
Platform.exit();
}
});
button_info.setOnAction(new EventHandler<ActionEvent> () {
@Override
public void handle(ActionEvent t) {
InfoWindow.launch();
}
});
Pane root = new Pane();
root.getChildren().addAll(group);
Scene scene = new Scene(root, 600, 400);
// scene.getStylesheets().addAll("mainpackage/GW.css");
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
类在哪里是另一个阶段:
ublic class InfoWindow extends Application{
@Override
public void start(Stage infoStage) throws Exception {
/********************************
* Inicializaion of variables *
*******************************/
Group groupInfo = new Group();
/*******************************
* TextArea *
*******************************/
TextArea textarea_info = new TextArea();
textarea_info.setPrefHeight(241);
textarea_info.setPrefWidth(454);
textarea_info.setLayoutX(73);
textarea_info.setLayoutY(35);
textarea_info.setText("Text se bude brát ze složky");
textarea_info.setEditable(false);
groupInfo.getChildren().add(textarea_info);
Pane root = new Pane();
root.getChildren().addAll(groupInfo);
Scene scene = new Scene(root, 600, 400);
infoStage.setScene(scene);
infoStage.show();
}
}
答案 0 :(得分:0)
所以你想要InfoWindow作为一个弹出窗口?
如果是这样,那么InfoWindow应该是Stage的子类而不是Application。