我有一个 JavaFX 2 表,显示人们的联系方式,假设有三列:名字、姓氏和电子邮件地址。当我的应用程序启动时,它会在表中填充有关系统中已有人员的几行数据。
问题是列宽都是相同的。大多数时候,名字和姓氏会完整显示,但电子邮件地址会被剪掉。用户可以双击标题中的分隔线来调整列的大小,但这很快就会变得乏味。
预先填充表格后,我想以编程方式调整所有列的大小以显示它们包含的数据,但我不知道如何实现这一点。我可以看到我可以打电话col.setPrefWidth(x)
但这并没有真正的帮助,因为我必须猜测宽度。
如果您的总列数是预先知道的。您可以在表格视图的宽度中分配列宽:
nameCol.prefWidthProperty().bind(personTable.widthProperty().divide(4)); // w * 1/4
surnameCol.prefWidthProperty().bind(personTable.widthProperty().divide(2)); // w * 1/2
emailCol.prefWidthProperty().bind(personTable.widthProperty().divide(4)); // w * 1/4
在此代码中,当调整表视图大小时,列的宽度比例保持同步,因此您不需要手动执行此操作。还有surnameCol
占用 tableview 宽度的一半空间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)