TableView的列数多于指定的列数

ste*_*wpf 12 layout tableview javafx-2

在JavaFX 2中使用TableView时,似乎神奇地添加了一列而不是调整现有列的大小.请参阅以下屏幕截图.

我期望/想要的是:两列都应有50%的空间,不应添加第三列(未命名/空).

在此输入图像描述

使用Scene Builder创建的FXML代码:

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>

<BorderPane id="BorderPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml">
  <top>
    <TableView prefHeight="200.0" prefWidth="200.0">
      <columns>
        <TableColumn prefWidth="75.0" text="Column X" />
        <TableColumn prefWidth="75.0" text="Column X" />
      </columns>
    </TableView>
  </top>
</BorderPane>
Run Code Online (Sandbox Code Playgroud)

Ulu*_*Biy 31

使用

table.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
Run Code Online (Sandbox Code Playgroud)

通过执行此操作,您可以确保表列标题中的额外空间将分布在列中.在此分布中,当然会考虑列的最大和最小宽度.
默认情况TableView.UNCONSTRAINED_RESIZE_POLICY下,tablecolumns最初将采用其首选宽度.