gpt4 book ai didi

java - 如何设置 JTableBinding 中的列大小?

转载 作者:行者123 更新时间:2023-11-30 00:28:30 25 4
gpt4 key购买 nike

我正在使用 NetBeans IDE 8.0 创建 GUI 程序,我需要显示一个包含不同大小列的表。
使用链接到 MySql 表的 JtableBinding,它显示网格中的内容,所有列都设置为相同的宽度。
我会通过代码更改列宽,但我注意到对于 JtableBinding 没有 TableColumnModel,而我将它放在 >JTable 对象。

是否可以为 JtableBinding 中的每一列设置不同的大小
感谢所有给我回复的人。

最佳答案

这是我用 JTableBinding 实现的类。列宽的设置效果很好。

public class TMZeit extends JTable {
private static final long serialVersionUID = 8639962215280391425L;
private List<Zeit> list;
private ResourceBundle bundle;
private Object[][] columns;

public TMZeit(ResourceBundle bundle) {
this.list = ObservableCollections.observableList(new ArrayList<Zeit>());
this.bundle = bundle;
this._initComponents();
}

@SuppressWarnings({ "rawtypes", "unchecked" })
private void _initComponents() {
this._initColumns();

JTableBinding<Zeit, List<Zeit>, JTable> jTableBinding = SwingBindings
.createJTableBinding(AutoBinding.UpdateStrategy.READ,
this.list, this);

for (int i = 0; i < this.columns.length; ++i) {
ELProperty<Zeit, String> property = ELProperty.create(String
.format("${%s}", columns[i][1]));
ColumnBinding columnBinding = jTableBinding
.addColumnBinding(property);
columnBinding.setColumnClass((Class<?>) this.columns[i][2]);
columnBinding.setColumnName((String) this.columns[i][0]);
columnBinding.setEditable(false);
}

jTableBinding.bind();

for (int i = 0; i < this.columns.length; ++i) {
this.getColumnModel().getColumn(i)
.setPreferredWidth((Integer) this.columns[i][3]);
}
}

private void _initColumns() {
this.columns = new Object[][] {
{ this.bundle.getString("table.column.serno.tooltip"), "serno",
Integer.class, 30 },
{ this.bundle.getString("table.column.project.tooltip"),
"project", String.class, 230 },
{ this.bundle.getString("table.column.activity.tooltip"),
"activity", String.class, 230 },
{ this.bundle.getString("table.column.time.tooltip"), "time",
Integer.class, 50 } };
}
...
}

抱歉格式错误。

关于java - 如何设置 JTableBinding 中的列大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22688848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com