我想从FXML中设置TableView的SelectionModel,但我找不到如何做到这一点。我已经尝试了以下操作:
1.将其设置为TableView的属性即可:
<TableView selectionModel="MULTIPLE">
2.设置与ListView相同的属性(请参见:https://community.oracle.com/thread/2315611?start=0&tstart=0):
<TableView multiSelect="true">
<TableView>
<selectionModel>
<TableView fx:constant="MULTIPLE" />
</selectionModel>
</TableView>
<TableView>
<selectionModel>
<SelectionModel fx:constant="MULTIPLE" />
</selectionModel>
</TableView>
<TableView>
<selectionModel>
<SelectionModel selectionModel="MULTIPLE" />
</selectionModel>
</TableView>
非常感谢任何帮助!
如果它在FXML上是可能的,应该是这样的:
<TableView fx:id="table" prefHeight="200.0" prefWidth="200.0" >
<columns>
<TableColumn prefWidth="75.0" text="C1" />
</columns>
<selectionModel>
<SelectionMode fx:constant="MULTIPLE"/>
</selectionModel>
</TableView>
不幸的是,当您运行它时,您得到了一个异常:
java.lang.IllegalArgumentException: Unable to coerce SINGLE to class javafx.scene.control.TableView$TableViewSelectionModel.
at com.sun.javafx.fxml.BeanAdapter.coerce(BeanAdapter.java:495)
之所以会发生这种情况,是因为bean适配器尝试在类javafx.scene.control.tableview$TableViewSelectionModel
中查找javafx.scene.control.SelectionMode.multiple
的valueof
但没有找到。
...
<?language javascript?>
<TableView fx:id="table" prefHeight="200.0" prefWidth="200.0" >
<columns >
<TableColumn fx:id="col" prefWidth="75.0" text="C1" />
</columns>
</TableView>
<fx:script>
table.getSelectionModel().setSelectionMode(javafx.scene.control.SelectionMode.MULTIPLE);
</fx:script>
问题内容: 如何从FXML设置TableView的调整大小策略?我这样累了,但是不起作用: 问题答案: 要使用fxml为tableview设置columnresize策略,必须使用标记。这将在javafx 2.2及更高版本上工作。 参考: 使用fxml定义TableView columnResizePolicy属性
创建描述表的FXML文件 以下称为此fxml 父p=FXMLLoader.Load(getClass().GetResource(“UnitTypeTable.ffXML”));
如何在FXML中定义表,然后使用JavaFX代码在运行时动态填充表?
问题内容: 我有1个类文件Nepokretnost.java,其中的构造函数如下所示: 此外,对于每个类字段,我都有带有列的TableView。我的问题是双字段“ povrsina”。我想从TextField设置它。 我将名为txtPovrsina的TextField的内容发送给double变量: 然后将所有字段放在TableView中: 一切运行良好,但是我想要一些应用程序的行为,但我不知道如何
或者类似的内容,但是我的节点是在FXML文件中定义的。如何从FXML文件外部访问节点以便定义布局,或者如何在FXML文件中定义布局。(我不使用也不打算使用场景构建器)。