gpt4 book ai didi

java - 防止将 JFace TableColumn 的大小调整为 0 宽度

转载 作者:搜寻专家 更新时间:2023-11-01 02:14:17 25 4
gpt4 key购买 nike

我正在使用 JFace TableViewer 和 TableColumnLayout。我如何设置列的最小宽度,或者至少防止它被调整为 0 宽度?

TableColumnLayout layout = new TableColumnLayout();
parent.setLayout(layout);
TableViewer viewer = new TableViewer(parent, SWT.FULL_SELECTION | SWT.BORDER);

//adding a few columns like this
TableColumn col = new TableColumn(viewer.getTable(), SWT.LEFT);
int minWidth = 100;
layout.setColumnData(col, new ColumnWeightData(10, minWidth, true));
col.setMoveable(true);
...

看来 ColumnWeightData 的 minWidth 参数没有被接受,我仍然可以将列的大小调整为 0 宽度。

使用类似这样的方法:

col.addControlListener(new ControlListener(){
@Override
public void controlMoved(ControlEvent e) {
}

@Override
public void controlResized(ControlEvent e) {
if(col.getWidth()<5)
col.setWidth(5);

}});

但这看起来很丑陋,有没有更简洁的方法呢?

最佳答案

Table 对此没有内置支持。因此,Resize 监听器 - 就像您在问题中显示的那样 - 是唯一的方法。

关于java - 防止将 JFace TableColumn 的大小调整为 0 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167845/

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