谁能帮我一下。我是JavaFX和FXML的新手,我已经尝试了无数个小时来尝试做一些没有任何运气的事情。谁能给我一个代码的工作示例
1)加载一个包含节点(如标签和按钮)的FXML,这些节点嵌套在不同窗格和节点的几层深处;
2)遍历整个场景,列出节点(如标签和按钮);
//
public void start(Stage stage) throws Exception {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Sample.fxml"));
Parent root = (Parent)fxmlLoader.load();
SampleController controller = (SampleController)fxmlLoader.getController();
controller.label.setText("Label text has been set");
controller.button.setText("Button text has been set");
// Looking for an example of traversing all the objects within the controller
// looking for an object such as a TableView and its columns. Would like to
// attach code outside the controller which populates the TableView.
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
您必须递归地获取根
容器中的所有节点:
public void start(Stage stage) throws Exception {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Sample.fxml"));
Parent root = (Parent)fxmlLoader.load();
List<Node> allNodes = getAllNodes(root);
for(Node node : allNodes) {
// do some stuff…
}
…
}
private List<Node> getAllNodes(Parent container) {
List<Node> nodes = new ArrayList<Node>();
for(Node node : container.getChildrenUnmodifiable())
{
nodes.add(node);
if (node instanceof Parent) {
Parent subContainer = (Parent) node;
nodes.addAll( getAllNodes(subContainer) );
}
}
return nodes;
}
您可以访问控制器的@fxml-field(例如TableView),就像您已经做过的一样…:-)
此外,TableView
中有一个方法可以获取列,例如Controller.TableView.GetColumns()…
我需要操作控制器类中的元素。但是,我设法找到的每个示例都通过扩展应用程序的类执行此操作。 我需要操作文本字段输入来自 VBox样本控制器在类主。 操作如下: 期望的结果是一旦启动FXML应用程序,inputText TextField就会预先填充文本“TEST”。 我的困惑源于如何在任何地方操作此字段,但: VBoxSampleController 用户界面管理器 将VBoxsampleContr
问题内容: 我想使用React.js制作一个应用程序。我希望它可以轻松地从外部进行自定义(例如,通过编写用户脚本)。我尝试使用的想法是在根元素状态(如或)中创建一些特殊的属性,以便插件开发人员可以在此处添加一些内容。我的问题是:这是否是一个好方法,是否有Right Way™实现与我的目标相似的目标,最后,插件开发人员将如何使用这些道具? 问题答案: 一种选择是可观察的。基本上,它是一个对象,您可以
石英2.2 我在运行时动态创建和调度Quartz作业,并将Quartz配置为JDBC-Job-Store。这些作业需要在应用程序执行之间保持不变。在作业执行期间,我需要访问完整的Spring上下文(Spring管理的bean和JPA事务)。 然而,如果我试图将任何东西自动加入到我的工作中,那么我会得到一个错误,比如…“通过字段MyAutowiredField表示的不满足的依赖项” 我想不通。我已经
问题内容: 是否可以从Java内部类中获取对它的引用? 即 问题答案: 您可以像这样访问外部类的实例:
问题内容: 我有一堂课,还有另一个内部课: 问题答案: 从其他答案中可以看出,您将需要一个非静态内部类来执行此操作。 如果您确实不能使内部类成为非静态类,则可以在外部类中添加所需的getter和setter方法,并通过在内部静态类内部创建外部类的实例来访问它们:
我很难弄清楚如何在JavaFX中动态创建节点,我正在尝试为消息传递程序创建一个接口,我希望每个消息都包含在自己的节点中。我不知道将发送多少消息,因此需要根据需要创建新节点。 这就是我到目前为止所做的,我希望这样我可以添加多个MessageNode对象并显示它们