我是新手,正在尝试学习JavaFX和FXML。我的大部分应用程序逻辑都在FXMLController类中,基类几乎是空的,除了NetBeans IDE生成的基本代码,如下所示
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
我有一个ID为input1的元素,类型为TextField。如何通过ID访问此(或任何其他)控件?(请记住,我是控制器类而不是主类)。
我在下面找到了这个问题,这正是我要找的,但情况不同,因为它们在定义< code>scene的主类中。如何从控制器类访问< code>scene并使用下面问题中的代码?
如何在JavaFX中找到带有ID的元素?
这是我第一次回答堆栈溢出的问题,所以请手下留情。
我也是JavaFX新手,我也遇到过这个问题。这是如果找到的情况。您FXMLDocument.fxml中的TextField必须有一个fx: id分配给它,如下所示:
<TextField fx:id="input1" layoutX="0.5" layoutX="0.5" />
如果您使用的是 JavaFX 场景生成器,则可以在右侧的“代码:文本字段”下找到 fx:id。
然后,在控制器类中,您可以访问它,但使用。
@FXML public TextField input1;
您可以使用数组列表遍历所有的文本字段。这里有一个例子。
@FXML public TextField input1;
@FXML public TextField input2;
@FXML public TextField input3;
@FXML public TextField input4;
@FXML public TextField input5;
@FXML public TextField input6;
@FXML public TextField input7;
@FXML public Button button;
List<TextField> inputs = new ArrayList<TextField>();
public void displayText(ActionEvent event) {
inputs.add(input1);
inputs.add(input2);
inputs.add(input3);
inputs.add(input4);
inputs.add(input5);
inputs.add(input6);
inputs.add(input7);
for (int x = 0; x < 7; x++) {
System.out.println(inputs.get(x).getText());
}
}
也许有一种更简单的方法,但这种方法对我很管用。
问题内容: 为什么无法从另一个内部访问其他控制器方法呢? 像这样。 已编译 如果您不能这样做,那为什么不呢?我还应该怎么做… 问题答案: 最近几个小时遇到相同的问题。我使用了api / services文件夹。它可能不完全是您所需要的,但是它是一个选择。
1、类属性的访问控制 在 Java 中,有 public (公共)属性 和 private (私有)属性,这可以对属性进行访问控制。 那么在 Python 中有没有属性的访问控制呢? 一般情况下,我们会使用 __private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。 为什么只能说一般情况下呢?
在应用程序中使用JavaFX,我有一个main.fxml文件,其中包含一些fxml子文件。 我想从子控制器访问Main.fxml的MainController类。 我试着用一个例子来解释得更好: MainFXML: 主控制器: ChildFXML:
容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables 防火墙来进行管理和实现。iptables 是 Linux 上默认的防火墙软件,在大部分发行版中都自带。 容器访问外部网络 容器要想访问外部网络,需要本地系统的转发支持。在Linux 系统中,检查转发是否打开。 $sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward = 1 如果为 0,
问题内容: 我有上面的控制器,它设置了一个我只能从内部访问值的控制器。 但我看到的地方,使用下面我将能够访问,但是当我在它不存在。 我无法弄清楚如何访问$ scope并使用变量更新它。 问题答案: 没有看到标记,我想MenuSideController的作用域是您选择的作用域的子作用域。 虽然可以像这样遍历树(假设我们想要的作用域是第一个孩子): 仅选择连接了特定控制器的元素会更简单。 假设您正在