關於SWT的滾動面板最長爲32768解決方案

最近接手一個java的桌面應用項目,需要對這個項目做二次開發,同時也是第一次接觸swt。

    基本上很多項目,都會需要做產品展示列表,通常都是採用滾動面板+滾動條的方式做滾動顯示。但是這個swt就有個限制,裏面控件的location的值是short類型,意味着最大不能超過32767,超過後你再setLocation也是隻能是在32767這個位置。在數據量比較大的時候,排序下去明顯不夠排。於是想到一個辦法來避開這個限制:做一個ScrolledComposite,設置大小隻顯示滾動條,它的面板就自己做一個普通的Composite來控制顯示。接着做個算法。使Composite在滾動條滾動時的Location大於30000的時候,重要歸零開始計算。這樣就可以實現無限地滾動。    

    只做個思路的記錄,代碼無法提供,一來寫得也比較多,結合其他功能,二來項目也不允許公開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章