相关疑难解决方法(0)

JavaFX 2.1 TableView刷新项目

我有这个常见问题,因为它似乎是.重置后,我的表视图不会刷新我的项目.我检查了数据,这是新的数据.

我从互联网尝试了多种解决方案但没有成功.

无法重置所有列,因为它添加了一个空的额外(不知道原因)和调整大小只是破坏.

我的表格不可编辑.新数据已更改.

如果我更改项目的顺序并且行更改(:|),则刷新数据.

我只是没有想法.

目前刷新代码非常简单.

ObservableList<User> data = FXCollections.observableArrayList(User.getResellers());
reseller_table.setItems(data);
Run Code Online (Sandbox Code Playgroud)

新数据再次正确.当我选择tableView时,它返回新的正确Item.

java javafx tableview fxml javafx-8

59
推荐指数
5
解决办法
12万
查看次数

JavaFX 2自动列宽

我有一个显示人员联系方式的JavaFX 2表,让我们想象有三列:名字,姓氏和电子邮件地址.当我的应用程序启动时,它会在表格中填入几行有关系统中已有人员的数据.

问题是列宽都是一样的.大多数情况下,名字和姓氏都会完整显示,但电子邮件地址会被剪裁.用户可以双击标题中的分隔符来调整列的大小,但这将很快变得乏味.

一旦预先填充了表,我想以编程方式调整所有列的大小以显示它们包含的数据,但我无法弄清楚如何实现这一点.我可以看到我可以打电话,col.setPrefWidth(x)但这并没有真正帮助,因为我必须猜测宽度.

javafx-2

43
推荐指数
2
解决办法
5万
查看次数

TableView的列数多于指定的列数

在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)

layout tableview javafx-2

12
推荐指数
1
解决办法
7648
查看次数

FXML设置TableView列调整大小策略

如何从FXML设置TableView的调整大小策略?我这样累了,但它不起作用:

<TableView layoutX="20.0" layoutY="20.0" prefWidth="674.0" prefHeight="668.0" fx:id="tableView" fx:constant="CONSTRAINED_RESIZE_POLICY">
    <columns>
        <TableColumn text="First Name" />
        <TableColumn text="Last Name" />
        <TableColumn text="Email Address" />
    </columns>    
</TableView>
Run Code Online (Sandbox Code Playgroud)

java tableview javafx-2 fxml

6
推荐指数
1
解决办法
9226
查看次数

*基本*单字符串列的JavaFX TableView

我正在尝试创建一个非常简单的 JavaFX TableView:1 列字符串。我有一个我想可视化的数组:

String[] acronyms = {"Foo", "Bar"};
Run Code Online (Sandbox Code Playgroud)

文档假定某种数据类型来填充多个列(例如 Person、Book 等)。我会比那更“你好世界”:只显示一个字符串数组。

使用场景构建器,我创建了一个带有表和列的 fxml 文件:

<TableView fx:id="clientAcronymTable" prefHeight="200.0" prefWidth="200.0">
 <columns>
  <TableColumn fx:id="clientAcronymColumn" prefWidth="199.0" text="Client Acronyms" />
 </columns>
  <columnResizePolicy>
     <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
  </columnResizePolicy>
</TableView>
Run Code Online (Sandbox Code Playgroud)

然后我将这些元素“连线”到我的控制器中:

@FXML private TableView<String> clientAcronymTable;

@FXML private TableColumn<ObservableList<String>, String> clientAcronymColumn;
Run Code Online (Sandbox Code Playgroud)

在我的Initializable::initialize方法中,我有:

clientAcronymTable.setItems(FXCollections.observableList(acronyms));
Run Code Online (Sandbox Code Playgroud)

但是,GUI 中没有出现任何字符串。我知道发生了一些事情,因为列中显示了可见的行行,但它们都是空的。

当然还有类似的问题并不真正适用:

  1. 与不止一栏相关,不适用
  2. 创建一个自定义行类,这似乎有点矫枉过正

所以,我的问题是:

如何使我的 Array 中的字符串在 TableView 中可见

如何使单列可编辑,以便用户可以添加更多字符串

预先感谢您的考虑和回应。

java javafx

2
推荐指数
1
解决办法
2555
查看次数

标签 统计

java ×3

javafx-2 ×3

tableview ×3

fxml ×2

javafx ×2

javafx-8 ×1

layout ×1