????最近接手一個(gè)java的桌面應(yīng)用項(xiàng)目党窜,需要對(duì)這個(gè)項(xiàng)目做二次開(kāi)發(fā)趁俊,同時(shí)也是第一次接觸swt。
? ? 基本上很多項(xiàng)目刑然,都會(huì)需要做產(chǎn)品展示列表,通常都是采用滾動(dòng)面板+滾動(dòng)條的方式做滾動(dòng)顯示暇务。但是這個(gè)swt就有個(gè)限制泼掠,里面控件的location的值是short類型,意味著最大不能超過(guò)32767垦细,超過(guò)后你再setLocation也是只能是在32767這個(gè)位置择镇。在數(shù)據(jù)量比較大的時(shí)候,排序下去明顯不夠排括改。于是想到一個(gè)辦法來(lái)避開(kāi)這個(gè)限制:做一個(gè)ScrolledComposite腻豌,設(shè)置大小只顯示滾動(dòng)條嘱能,它的面板就自己做一個(gè)普通的Composite來(lái)控制顯示吝梅。接著做個(gè)算法惹骂。使Composite在滾動(dòng)條滾動(dòng)時(shí)的Location大于30000的時(shí)候,重要?dú)w零開(kāi)始計(jì)算对粪。這樣就可以實(shí)現(xiàn)無(wú)限地滾動(dòng)右冻。????
? ? 只做個(gè)思路的記錄著拭,代碼無(wú)法提供,一來(lái)寫(xiě)得也比較多儡遮,結(jié)合其他功能乳蛾,二來(lái)項(xiàng)目也不允許公開(kāi)鄙币。