- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过以下方式加载舞台:
public void start(Stage stage) throws Exception{
stage.setTitle("title");
Scene scene = (Scene)FXMLLoader.load(getClass().getResource("../view/MainMenu.fxml"));
stage.setScene(scene);
stage.setWidth(1080);
stage.setHeight(720);
stage.setFullScreen(false);
stage.show();
}
更改场景:
@FXML protected void click(ActionEvent event) throws Exception{
Stage stage = (Stage)menu.getScene().getWindow();
Scene scene = (Scene)FXMLLoader.load(getClass().getResource("../view/MainMenu.fxml"));
stage.setScene(scene);
stage.show();
}
Fxml:
<Scene fx:controller="controller.CtrlMainMenu" xmlns:fx="http://javafx.com/fxml" stylesheets="view/Style.css">
<AnchorPane fx:id="menu">
<VBox spacing="8"
AnchorPane.topAnchor="0.0" AnchorPane.bottomAnchor="0.0"
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<Button text="click" onAction="#click"/>
</VBox>
</AnchorPane>
</Scene>
切换场景时就会出现问题;新场景较小,出现在左上角,并且不完全适合窗口(窗口保持其大小,调整窗口大小后,场景再次重新适合窗口,但之前不是)。
此外,是否可以将对象发送到 View 的 Controller ,因为我需要使用 Controller 来处理模型? (采用MVC架构)
<小时/>现在使用 fx:root 尝试此方法 2,结果如下:
应用:
public void start(Stage stage) throws Exception{
FXMLLoader fxmlLoader = new FXMLLoader();
Pane p = (Pane) fxmlLoader.load(getClass().getResource("../view/MainMenu.fxml").openStream());
CtrlMainMenu controller = (CtrlMainMenu) fxmlLoader.getController();
controller.sendString("test"); //send object test
stage.setScene(new Scene(p));
stage.setWidth(1080);
stage.setHeight(720);
stage.setFullScreen(false);
stage.show();
}
Fxml:
<fx:root type="javafx.scene.layout.AnchorPane" xmlns:fx="http://javafx.com/fxml" fx:controller="controller.CtrlMainMenu">
<children>
<AnchorPane fx:id="menu">
<VBox spacing="8"
AnchorPane.topAnchor="0.0" AnchorPane.bottomAnchor="0.0"
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<Button text="click" onAction="#click"/>
</VBox>
</AnchorPane>
</children>
</fx:root>
更改场景:
@FXML protected void click(ActionEvent event) throws Exception{
FXMLLoader fxmlLoader = new FXMLLoader();
Pane p = (Pane) fxmlLoader.load(getClass().getResource("../view/Options.fxml").openStream());
Stage stage = (Stage)menu.getScene().getWindow();
stage.setScene(new Scene(p));
stage.show();
}
重叠:
@FXML protected void Options(ActionEvent event) throws Exception{
FXMLLoader fxmlLoader = new FXMLLoader();
Pane p = (Pane) fxmlLoader.load(getClass().getResource("../view/Options.fxml").openStream());
menu.getChildren().add(p);
}
fxml(旧的没有 fx:root 行):
<fx:root type="javafx.scene.layout.AnchorPane" xmlns:fx="http://javafx.com/fxml"
fx:controller="controller.CtrlOptions" stylesheets="view/Style.css">
<children>
<GridPane xmlns:fx="http://javafx.com/fxml" alignment="center"
hgap="10" vgap="10" id="optionBackgorund"
AnchorPane.topAnchor="50.0" AnchorPane.bottomAnchor="50.0"
AnchorPane.leftAnchor="50.0" AnchorPane.rightAnchor="50.0"
fx:id="options">
<!-- the view -->
</GridPane>
</children>
</fx:root>
好的,现在可以发送对象并使用 fx:root 制作场景,但仍然存在场景不适合舞台的问题
现在有一个新问题,没有 fx:root 就没有,这个问题是使用另一个 AnchorPane 来重叠当前的,现在不重叠它,它只出现在中间,但是尺寸保持较小(安装 anchor 之前)
最佳答案
找到了使场景适合舞台的方法:
@FXML protected void click(ActionEvent event) throws Exception{
FXMLLoader fxmlLoader = new FXMLLoader();
Pane p = (Pane) fxmlLoader.load(getClass().getResource("../view/Options.fxml").openStream());
Scene scene= menu.getScene();
scene.setRoot(p);
}
关于java - 场景不适合舞台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14938945/
如图所示,上面的红色框是一个 GridBox,下面是一个带有 Splitpane (ListView) 和 Gridpane (2 Buttons) 的 VBox。我想要实现的是在单击按钮“隐藏>>"
使用 msfconsole 并搜索 linux x64 有效负载。 我遇到过舞台 Actor 、舞台和单曲?它们都有“reverse_tcp”,可以将连接反转回攻击者。然而我尝试查找舞台 Actor
我正在寻找一种将 3 个 LineCharts 放入单个窗口的方法。我的意思是我想让它们并排放置,或者一个在另一个下面。 我一直在寻找实现它的方法,但找不到任何东西。我试图搜索如何将多个场景放入一个阶
我有一个有效的 Web 功能,它使用 html5 视频和 Canvas 来访问设备相机的媒体流,然后拍照并在 Canvas 中渲染图像。效果很好,但我想使用 konvajs stage 而不是 can
我在解决这个问题时遇到了困难,并且我找不到我遇到的这个问题的正确答案。我希望将一个场景/阶段用作打开另一个场景/阶段的按钮,并且两者都通过相同的方法调用。完整的方法如下: public void c
我在 JavaFX 上有一个简单的应用程序,它实际上由几个 Pane 和按钮组成。我不知道如何在舞台调整大小时移动按钮。所以,我希望左下角的按钮即使在调整窗口大小时也始终可见。 这里是节点概览: 这里
来自 Swing 并且是 JavaFX 的新手,我尝试对 Java FX Stages 和 Scenes 进行子类化。但是我很快就遇到了问题,比如初始化过程中找不到我的子类场景的 init 方法。 所
How to animate or move window using clutter_actor_animate? Here's my code and it didn't work. clutte
有没有办法从关联的类 Controller 中获取 FXML 加载文件的 Stage/Window 对象? 特别是,我有一个模态窗口 Controller ,我需要舞台来关闭它。 最佳答案 我找不到解
我将工作代码分为 2 个文件以避免困惑。以前确实有效,但是将所有场景都放在一个类中是非常不愉快的。 以前,当您单击 Sprite 时,它会将您从菜单带到游戏。然后我将游戏组和游戏场景的代码提取到游戏类
我希望能够将 HTML 文本转换为位图,以便在 AlivePDF 中使用。我的测试适用于 TextArea,或者组件是否在舞台上或可见。但我希望能够处理不一定位于屏幕上的文本块。有谁知道如何做到这一点
我有一个 swing 应用程序,我需要在其中运行并打开 JavaFX 场景/阶段。我必须在没有扩展应用程序的情况下运行它。我已经尝试了 Stackoverflow 上发布的大多数解决方案,但没有一个适
我正在寻找一种方法来缩小 Flash 文件的高度。我可以更改宽度,但高度似乎与其所在窗口的大小有关? http://www.bevelite.com.au/test 我正在使用 page-flip.c
我需要在选择组合框元素时重新绘制窗口。如何在 JAVA FX 2.2 中重绘窗口(舞台)? 下面是我的代码 functionComboBox.valueProperty().addListener(n
我是一名优秀的程序员,十分优秀!