SWT表在Windows和Linux上调整大小

时间:2014-01-27 15:28:34

标签: java linux windows swt

我正在尝试做一些我认为简单的事情,但是...我基本上是在SWT表中添加一个调整大小的侦听器,例如

getTable().addListener(SWT.Resize,  new Listener(){
    int initialSize = getTable().getClientArea().width;
    @Override
    public void handleEvent(Event arg0) {
        int size = getTable().getClientArea().width;
        System.out.println(""+initialSize+"-"+size+"="+(initialSize-size));
    }
});

因此,如果我有一个1000初始大小的表并且最大化它,例如

1000-1074 = -74

或者如果不是最大化我用鼠标调整大小(在这种情况下缩小它)

1000-850 = 150

这在Linux上运行良好,但是在Windows上,侦听器在整个移动过程中被调用,而不仅仅是在调整大小结束时,就像Linux那样,只提供一个调整大小的内容,如

986-985 = 1
986-985 = 1
985-969 = 16
985-969 = 16
969-965 = 4
969-965 = 4
965-950 = 15
965-950 = 15
950-940 = 10
950-940 = 10
940-937 = 3
940-937 = 3
937-924 = 13
937-924 = 13
924-921 = 3
924-921 = 3
921-920 = 1
921-920 = 1
920-905 = 15
920-905 = 15
905-903 = 2
905-903 = 2
903-902 = 1
903-902 = 1
902-901 = 1
902-901 = 1

这里的目标是通过一些特定的计算来调整表中的列,并且我需要的是最终大小,就像在Linux中一样。

我知道这种行为取决于操作系统,但是如何在Windows上模拟它在Linux中的功能呢?

谢谢。

0 个答案:

没有答案