0
我有主類開始第一階段,我想通過button_info啓動另一個階段,我寫給另一個類的代碼。我不使用FXML,即使FMXL更好,也只是傳統的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();
}
}
請你能舉一些代碼的例子。由於 – user3770144 2014-10-11 08:49:41
'公共類信息窗口擴展階段{ 公共信息窗口(){ //初始化階段(你的啓動方法的屍體放在這裏,沒有顯示() } }' 用法: '信息窗口信息窗口=新的信息窗口();' 當你想顯示它: 'infoWindow.show();' – galovics 2014-10-12 07:16:14