12
A
回答
17
new Stage(new Scene(new Group(new Text(10,10, "my second window")))).show();
兩個窗口之間的通信類似於Java中的任何兩個對象。
+7
Thx。它適用於一個小的修改;-)'Stage stage = new Stage(); (新的組(新的文本(10,10,「我的第二個窗口」)))); stage.show();' – fxuser 2012-04-03 17:20:42
+0
right,my bad :) – 2012-04-03 17:26:45
13
通過調用new Stage()
來創建新窗口,並通過stage.show()
顯示它們。
以下是使用複選框控件創建新舞臺的示例,該複選框控件可修改顯示在不同舞臺中的標籤的文本。
import javafx.application.Application;
import javafx.beans.value.*;
import javafx.event.EventHandler;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.StackPane;
import javafx.stage.*;
public class SecondStage extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage primaryStage) {
// setup some dymamic data to display.
final String STANDARD_TEXT = "Every Good Boy Deserves Fruit";
final String ALTERNATE_TEXT = "Good Boys Deserve Fruit Always";
final Label label = new Label(STANDARD_TEXT);
// configure the primary stage.
StackPane primaryLayout = new StackPane();
primaryLayout.getChildren().add(label);
primaryLayout.setStyle("-fx-background-color: lightgreen; -fx-padding: 10;");
primaryStage.setScene(new Scene(primaryLayout, 200, 100));
primaryStage.setTitle("Primary Stage");
// configure the secondary stage.
final Stage secondaryStage = new Stage(StageStyle.UTILITY);
CheckBox alternateTextCheck = new CheckBox("Show alternate text");
alternateTextCheck.selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override public void changed(ObservableValue<? extends Boolean> selected, Boolean oldValue, Boolean newValue) {
if (newValue) label.setText(ALTERNATE_TEXT); else label.setText(STANDARD_TEXT);
}
});
StackPane secondaryLayout = new StackPane();
secondaryLayout.getChildren().add(alternateTextCheck);
secondaryLayout.setStyle("-fx-background-color: cornsilk; -fx-padding: 10;");
secondaryStage.setScene(new Scene(secondaryLayout, 200, 100));
secondaryStage.setTitle("Secondary Stage");
// specify stage locations.
secondaryStage.setX(400); secondaryStage.setY(200);
primaryStage.setX(400); primaryStage.setY(350);
// add a trigger to hide the secondary stage when the primary stage is hidden.
// this will cause all stages to be hidden (which will cause the app to terminate).
primaryStage.setOnHidden(new EventHandler<WindowEvent>() {
@Override public void handle(WindowEvent onClosing) {
secondaryStage.hide();
}
});
// show both stages.
primaryStage.show();
secondaryStage.show();
}
}
0
裏面的按鈕點擊動作,你可以創建一個新的舞臺,然後你要顯示的其他類的對象。之後使用創建的對象調用start方法。
Stage stage= new Stage();
NewClass nc= new NewClass();
nc.start(stage);
希望這會起作用!
相關問題
- 1. JavaFX 2.0 FXML子窗口
- 2. JavaFX 2.0通向托盤的窗口
- 3. JavaFX 2.0:關閉一個階段(窗口)
- 4. 空窗口JavaFX
- 5. JavaFX窗口KeyEvent
- 6. javafx關閉窗口
- 7. JavaFX - 「進度窗口」
- 8. javafx焦點窗口
- 9. 幾個JavaFx窗口
- 10. 用JavaFX 2.0中的表格視圖彈出窗口
- 11. JavaFX 2.0自定義窗口框架按鈕
- 12. 接近FXML窗口,JavaFX的
- 13. 空白窗口的JavaFX
- 14. JavaFX Auto打開新窗口
- 15. JavaFx彈出窗口與MouseClick
- 16. Javafx動態窗口數量
- 17. 實例化JavaFX窗口
- 18. JavaFX 2模式窗口
- 19. JavaFX模糊整個窗口
- 20. 打印到JavaFX窗口
- 21. Silverlight子窗口父窗口
- 22. 父窗口和子窗口
- 23. JavaFx 2.0菜單
- 24. JavaFX 2.0 TreeView ContextMenu
- 25. 子窗口面板到與javafx的畫布場景
- 26. 如何將JavaFX 2.0應用程序居中在瀏覽器窗口上
- 27. 儘管事件正在被消耗,但JavaFx 2.0主窗口關閉
- 28. Vaadin:子窗口
- 29. OpenGL子窗口
- 30. 動子窗口
我認爲在Ensemble中有一個例子。 – assylias 2012-04-03 17:01:09