Checkbox 如何获取启用的复选框值或名称或fx:id';javafx中的s

Checkbox 如何获取启用的复选框值或名称或fx:id';javafx中的s,checkbox,javafx-8,fxml,Checkbox,Javafx 8,Fxml,我不熟悉javaFX和FXML,我创建了一个FXML,其中几乎没有复选框和提交按钮(两者都在一个名为“testtab”的选项卡中) 如何在单击提交按钮时仅启用复选框值和/或文本和/或fx:id 在fxml下面 <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.collections.*?> <

我不熟悉javaFX和FXML,我创建了一个FXML,其中几乎没有复选框和提交按钮(两者都在一个名为“testtab”的选项卡中)

如何在单击提交按钮时仅启用复选框值和/或文本和/或fx:id

在fxml下面

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.collections.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.web.*?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.45" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainViewController">
<children>
<TabPane fx:id="tabPane" layoutX="7.0" layoutY="6.0" prefHeight="389.0" prefWidth="589.0" tabClosingPolicy="UNAVAILABLE">
<tabs>
<Tab text="Test tab">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<Button fx:id="submit" layoutX="450.0" layoutY="283.0" mnemonicParsing="false" onAction="#dsubmit" text="SUBMIT" />
<CheckBox fx:id="dbox1" layoutX="46.0" layoutY="30.0" mnemonicParsing="false" onAction="#someaction" text="First Checkbox" />
<CheckBox fx:id="dbox2" layoutX="46.0" layoutY="65.0" mnemonicParsing="false" onAction="#someaction" text="Second Checkbox" />
<CheckBox fx:id="dbox3" layoutX="46.0" layoutY="105.0" mnemonicParsing="false" onAction="#someaction" text="Third Checkbox" />
<CheckBox fx:id="dbox4" layoutX="46.0" layoutY="140.0" mnemonicParsing="false" onAction="#someaction" text="Fourth Checkbox" />
<CheckBox fx:id="dbox5" layoutX="46.0" layoutY="178.0" mnemonicParsing="false" onAction="#someaction" text="Fifth Checkbox" />
<CheckBox fx:id="dbox6" layoutX="46.0" layoutY="218.0" mnemonicParsing="false" onAction="#someaction" text="Sixth Checkbox" />
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
</TabPane>
</children>
</AnchorPane>

不太清楚您到底在问什么,但在
dsubmit()
方法中,您可以直接执行

if (dbox1.isSelected()) {
    // ...
}

if (dbox2.isSelected()) {
    // ...
} 
或者类似的东西

如果您想要所选复选框的列表,可以执行以下操作

List<CheckBox> selectedBoxes = 
    Stream.of(dbox1, dbox2, dbox3, dbox4, dbox5, dbox6)
    .filter(CheckBox::isSelected)
    .collect(Collectors.toList());
列出所选框=
of(dbox1、dbox2、dbox3、dbox4、dbox5、dbox6)
.filter(复选框::isSelected)
.collect(Collectors.toList());

谢谢你,詹姆斯,这正是我想要的,两种方法都非常有效。