标签: fxml

传递参数JavaFX FXML

如何将参数传递给javafx中的辅助窗口?有没有办法与相应的控制器通信?

例如:用户从a中选择一个客户,TableView并打开一个新窗口,显示客户的信息.

Stage newStage = new Stage();
try 
{
    AnchorPane page = (AnchorPane) FXMLLoader.load(HectorGestion.class.getResource(fxmlResource));
    Scene scene = new Scene(page);
    newStage.setScene(scene);
    newStage.setTitle(windowTitle);
    newStage.setResizable(isResizable);
    if(showRightAway) 
    {
        newStage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

newStage将是新窗口.问题是,我找不到告诉控制器在哪里查找客户信息的方法(通过传递id作为参数).

有任何想法吗?

parameters dependency-injection javafx parameter-passing fxml

180
推荐指数
4
解决办法
16万
查看次数

JavaFX场景构建器去了哪里?

我试图找到难以捉摸的JavaFX场景构建器,以便我可以在Intellij中使用它.我在Windows操作系统上.

Oracle已经声明JavaFX场景构建器包含在新的下载中,但无论我如何搜索都找不到它(请参阅http://www.oracle.com/technetwork/java/javafx/downloads/index.html).我认为他们已经链接到不正确的页面,谷歌搜索它让我无处可去.

我已经安装了Java 8 SDK并且运行正常.显然JavaFX现在包含在其中,但是在Java文件夹中没有任何地方可以找到场景构建器,它似乎在网上完全丢失.

请任何人可以帮忙吗?我只是想编写一个小的GUI程序,看起来JavaFX似乎是要走的路(如果它不是那么随意消除我对这个概念的看法!)

javafx intellij-idea fxml scenebuilder javafx-8

93
推荐指数
2
解决办法
6万
查看次数

JavaFX - setVisible不会"隐藏"该元素

在JavaFX中,如果我有一个包含2个VBox元素的场景,并且每个元素VBox都有多个元素Label.
如果我将顶部设置VBox隐形,为什么底部VBox 不会移动到顶部的场景VBox

VBox看不见的,但我希望其他对象移动到它的位置.

我正在使用FXML来加载我的控件.

java javafx javafx-2 fxml javafx-8

72
推荐指数
3
解决办法
5万
查看次数

JavaFX 2.1 TableView刷新项目

我有这个常见问题,因为它似乎是.重置后,我的表视图不会刷新我的项目.我检查了数据,这是新的数据.

我从互联网尝试了多种解决方案但没有成功.

无法重置所有列,因为它添加了一个空的额外(不知道原因)和调整大小只是破坏.

我的表格不可编辑.新数据已更改.

如果我更改项目的顺序并且行更改(:|),则刷新数据.

我只是没有想法.

目前刷新代码非常简单.

ObservableList<User> data = FXCollections.observableArrayList(User.getResellers());
reseller_table.setItems(data);
Run Code Online (Sandbox Code Playgroud)

新数据再次正确.当我选择tableView时,它返回新的正确Item.

java javafx tableview fxml javafx-8

59
推荐指数
5
解决办法
12万
查看次数

访问FXML控制器类

我想随时与FXML控制器类进行通信,以便从主应用程序或其他阶段更新屏幕上的信息.

这可能吗?我还没有找到任何办法.

静态函数可能是一种方式,但它们无法访问表单的控件.

有任何想法吗?

javafx-2 fxml

58
推荐指数
3
解决办法
8万
查看次数

JavaFX中的标签和文本差异

javafx.scene.text.Text和javafx.scene.control.Label有什么区别?

文件说:

  • Label是一个不可编辑的文本控件.
  • Text类定义显示文本的节点.

但Label类有一个方法"setText"和"textProperty",因此是可编辑的.

java javafx fxml

51
推荐指数
2
解决办法
2万
查看次数

按代码关闭fxml窗口,javafx

我需要通过控制器中的代码关闭当前的fxml窗口

我知道stage.close()或stage.hide()在fx中执行此操作

如何在fxml中实现这个?我试过了

private void on_btnClose_clicked(ActionEvent actionEvent) {
        Parent root = FXMLLoader.load(getClass().getResource("currentWindow.fxml"));    
        Scene scene = new Scene(root);

        Stage stage = new Stage();            
        stage.setScene(scene);
        stage.show();
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用!

所有帮助将不胜感激.谢谢!

java user-interface javafx fxml

48
推荐指数
3
解决办法
14万
查看次数

为空javafx表删除默认的"表中没有内容"文本

我想删除或更改空javafx表显示的默认文本,No content in table使其更有意义.

例如,在一个显示学生的表格中,当没有学生要展示时,我希望它在课程表中说"数据库中没有学生"或"学生没有课程".我不知道在javafx中是否可以通过Java代码,使用场景构建器或在IDE中编辑.fxml文件.到目前为止,我已经在场景构建器中查看了tableview的属性,但是我看不到此文本的相关属性

java javafx fxml scenebuilder javafx-8

46
推荐指数
2
解决办法
2万
查看次数

面板内的JavaFX Panel自动调整大小

我有一个只有一个FXML文件的JavaFX应用程序.在这个文件中,我有一个AnchorPane,里面有一个StackPane.这是截图:

我的面板面板应用程序

当我启动此应用程序时,我想使用AnchorPane自动调整StackPane的大小.从而; StackPane将自动获得当前可用的宽度和高度.在我调整应用程序大小的那一刻,AnchorPane正在自动调整大小,但StackPane保持固定大小.

如何自动调整StackPane的大小并使其在父面板中完全拉伸?

我的守则

Main.java

package app;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

  public static void main(String[] args) {
      Application.launch(args);
  }

  @Override
  public void start(Stage stage) throws Exception {
      Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
      Scene scene = new Scene(root,800,600);
      scene.getStylesheets().add(this.getClass().getResource("/app/style1.css").toExternalForm());
      stage.setScene(scene);
      stage.show();
  }
}
Run Code Online (Sandbox Code Playgroud)

MainController.java

package app;

import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.StackPane;

public class MainController implements Initializable {

   @FXML
   private AnchorPane anchorPane;
   @FXML …
Run Code Online (Sandbox Code Playgroud)

css java pane javafx-2 fxml

45
推荐指数
3
解决办法
10万
查看次数

在同一场景中加载新的fxml

我有2个fxml文件:

  • 布局(标题,菜单栏和内容)
  • Anchorpane(它应该放在其他fxml文件的内容中)

我想知道如何从"主"场景中加载内容空间内的第二个文件.在javaFX中工作是一件好事还是加载新场景更好?

我正在尝试做这样的事情,但它不起作用:

@FXML
private AnchorPane content;

@FXML
private void handleButtonAction(ActionEvent event) {        
    content = (AnchorPane) FXMLLoader.load("vista2.fxml");
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

javafx scene fxml

38
推荐指数
2
解决办法
9万
查看次数