- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在底部,我有一个 AnchorPane,然后是一个 SplitPane。在左侧 Pane 中,我有一个 listView,根据所选的列表元素,右侧 Pane 会显示相应的内容。我这样做的方法是重叠 AnchorPanes 并将它们最初设置为 .setVisible(false) ,当它们被选择时,我将它们设置为 .setVisible(true) ,如下所示:
public void listSelection() {
String selection = listView.getSelectionModel().getSelectedItem();
switch(selection) {
case "Speed of sound":
disableOld(); // disables old AnchorePane
response.setText("Speed of sound conversion");
AnchorPane1.setVisible(true);
break;
case "Temperature conversion":
disableOld();
response.setText("Temperature conversion");
AnchorPane2.setVisible(true);
break;
}
}
我想知道如何在不同的场景下产生相同的视觉效果,因为我希望每个新的 AnchorPane 都有自己的 FXML 和 ControllerClass。
最佳答案
You can implement something like this :
您的主要类(class):
public void start(Stage primaryStage) throws IOException {
primaryStage.setTitle("Title");
primaryStage.setScene(createScene(loadMainPane("path_of_your_fxml")));
primaryStage.show();
}
private Pane loadMainPane(String path) throws IOException {
FXMLLoader loader = new FXMLLoader();
Pane mainPane = (Pane) loader.load(
getClass().getResourceAsStream(path));
return mainPane;
}
private Scene createScene(Pane mainPane) {
Scene scene = new Scene(mainPane);
return scene;
}
public static void main(String[] args) {launch(args); }
然后您可以创建一个单独的类调用 Navigator
来存储所有 fxml 路径:
public class Navigator {
private final String P1;
private final String P2;
//then you can implement getters...
public String getP1() {
return P1;
}
public String getP2() {
return p2;
}
private static FxmlController Controller;
public static void loadPane(String fxml) {
try {
FxmlController.setPane(
(Node) FXMLLoader.load(Navigator.class.getResource(fxml)));
} catch (IOException e) {
e.printStackTrace();
}
}
public Navigator() throws IOException {
this.P1 = "p1.fxml";
this.P2 = "p2.fxml";}
在您的主FxmlController
(这是应用程序永久层的 Controller )中,堆栈 Pane 的其余部分-{p1和p2}将加载到您的永久层上)
这是在主 FxmlController
上加载图层的方式:
@FXML
private StackPane stackPaneHolder;
...
public void setPane(Node node) {
if (stackPaneHolder.getChildren().isEmpty()) {
//if stackPaneHolder is empty
stackPaneHolder.getChildren().add(node);
} else {
if (stackPaneHolder.getClip() != node) {
//if stackPaneHolder is not empty then remove existing layer and add new layer
stackPaneHolder.getChildren().remove(0);
stackPaneHolder.getChildren().add(0, node);
}
}
}
然后您可以通过按如下按钮加载 Pane :
@FXML
private void btnAction(ActionEvent event) throws IOException {
Navigator.load(new Navigator().getP1());
..
关于JavaFX 在 SplitPane 中切换场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33861613/
当我有一个透明的 SplitPane 时,设置 pickOnBounds=false 不起作用,我无法单击拆分 Pane 后面的按钮。我有一个带有 pickOnBounds=false 的透明 VBo
我想创建一个像这样的分割面板: 我怎样才能做到这一点。当我添加选项卡时,我只能将它们添加到以下位置:上、下、右、左。 这就是我所拥有的: 我该怎么做? 最佳答案 左侧面板应使用CardLayout
我有一个BorderPane 。在此 Pane 中,我将 HBox 设置为顶部有几个控件。在中心我有e SplitPane有两个 Canvas 。我想让鼠标移动到 BorderPane当它从Split
有没有办法让分割 Pane 中的分隔线透明? 我尝试了以下方法 .split-pane *.split-pane-divider { -fx-padding: 0 1 0 1; } 但它不起作用。 另
我尝试实现 here 中的标准示例,看起来像这样: SplitPane sp = new SplitPane(); final StackPane sp1 = new StackPane(); sp1
我一直在java swing中使用jsplit Pane ,我试图在一个主框架中设置水平和垂直分割 Pane ,首先将主框架划分为左侧面板和右侧面板,然后将右侧面板分为底部和右侧面板顶部面板。我成功地
这是一个交叉帖子:http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-January/016437.html 有时当我设置 SplitPan
如何实现整个 SplitPane 的比例调整? public class JfxSplitPaneTest extends Application { @Override public
我一直在使用 JPanels 等来构建我的 GUI。我现在工作的地方他们使用 SWT 来构建他们的 GUI。我有一个复合 Material ,我添加了一个窗框,根据模板的某些属性将窗框垂直或水平分割。
我已经对这个主题做了一些研究并找到了 a post that could’ve been relevant , 如果它只包含我想要的那种答案。我想移除 SplitPane 周围的边框,您在彼此中创建的
我的 .fxml 文件中有许多 Pane (这是我的 fxml 的早期版本: Javafx : SplitPane resize children )现在我想修复顶部分割 Pane 中的前两个元素我的
我喜欢一个 .fxml 文件,我在其中添加了一些 TitledPane,但我无法在应用程序中调整它们的大小。这是代码:
在底部,我有一个 AnchorPane,然后是一个 SplitPane。在左侧 Pane 中,我有一个 listView,根据所选的列表元素,右侧 Pane 会显示相应的内容。我这样做的方法是重叠 A
我有以下代码: public class JavaFxApplication2 extends Application { @Override public void start(St
我有一个 SplitPane,我需要将布局划分为 25% 和 75%。另外,我需要禁止在 25% 分割后向右侧拖动。但是我可以在 25% 的空间内拖动到任何程度。请帮忙。 最佳答案 SplitPane
我所追求的当前布局只是一个水平分割 Pane ,其中左侧是复选框,右侧将输出。在用户检查所有想要的项目后,我最终将在左侧添加一个提交按钮,并将结果显示在右侧。当前的问题是我什至无法显示背景颜色,并且复
自从从以前的 JavaFX 2.0 版本更新到 JavaFX 2.0 b36(Windows SDK(32 位)+ Netbeans 插件)后,SplitPane 控件不再按预期工作。 分隔线无法移动
我需要在应用程序启动时加载 JavaFX TreeView 数据。问题是节点lookup()方法总是返回null。 代码 public class Main extends Application {
我不知道如何在 JavaFX 8 SplitPane 上监听“Divider Repositioned”事件。这是一个简单的工作应用程序,只需要添加事件监听器。有人可以帮助我指出正确的方向吗? pub
我在我的 JSplitPane 中设置了 setOneTouchExpandable(true) 和 setEnabled(false) 以允许用户仅向左或向右展开。但我真正想要的是让左侧面板向左折叠
我是一名优秀的程序员,十分优秀!