最近接手一個java的桌面應用項目,需要對這個項目做二次開發,同時也是第一次接觸swt。
基本上很多項目,都會需要做產品展示列表,通常都是採用滾動面板+滾動條的方式做滾動顯示。但是這個swt就有個限制,裏面控件的location的值是short類型,意味着最大不能超過32767,超過後你再setLocation也是隻能是在32767這個位置。在數據量比較大的時候,排序下去明顯不夠排。於是想到一個辦法來避開這個限制:做一個ScrolledComposite,設置大小隻顯示滾動條,它的面板就自己做一個普通的Composite來控制顯示。接着做個算法。使Composite在滾動條滾動時的Location大於30000的時候,重要歸零開始計算。這樣就可以實現無限地滾動。
只做個思路的記錄,代碼無法提供,一來寫得也比較多,結合其他功能,二來項目也不允許公開。