JavaFX:TableViewCol设置editable不允许编辑

时间:2015-07-14 14:42:28

标签: javafx tableview

我有一个可编辑的表格,我已将该代码克隆到另一个窗格,它不会让我编辑它。

  <TableView fx:id="queueTable" layoutX="5.0" layoutY="388.0" prefHeight="200.0" prefWidth="406.0">
    <columns>
      <TableColumn fx:id="materialCol" editable="false" prefWidth="224.0" text="Material">
            <cellFactory>
                <TextFieldTableCell fx:factory="forTableColumn" />
            </cellFactory>
                <cellValueFactory>
            <PropertyValueFactory property="symbol" />
                </cellValueFactory>
      </TableColumn>
      <TableColumn fx:id="sourceCol" editable="false" prefWidth="111.0" text="Source">
            <cellFactory>
                <TextFieldTableCell fx:factory="forTableColumn" />
            </cellFactory>                
            <cellValueFactory>
                <PropertyValueFactory property="weight" />
            </cellValueFactory>
        </TableColumn>
      <TableColumn fx:id="indexCol" prefWidth="70.0" text="Index">
            <cellFactory>
              <TextFieldTableCell fx:factory="forTableColumn" />
            </cellFactory>                
            <cellValueFactory>
              <PropertyValueFactory property="atom" />
            </cellValueFactory>
      </TableColumn>   
    </columns>
  </TableView>

当双击表格单元格时,没有任何事情表明我已经做了任何事情,而且我不确定如何诊断它,因为表格代码在同一程序的其他地方工作。这里唯一的区别是另一个表是完全可编辑的,而这个表只有列应该是。

目的是允许用户更改“index”值,并将其余信息静态化。

1 个答案:

答案 0 :(得分:1)

默认情况下,

TableView不可编辑,因此您需要

 <TableView fx:id="queueTable" editable="true" layoutX="5.0" layoutY="388.0" prefHeight="200.0" prefWidth="406.0">

使用其他所有内容,这将使indexCol可编辑,其他两列不可编辑。