SWT.Tracker を使用してサイズ変更できるコンポジットを作成しようとしています。ここにサンプル コードを示します。
final Composite b = new Composite(parent, SWT.NONE);
b.setBounds(20, 20, 80, 80);
b.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_BLUE));
b.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event e) {
Tracker tracker = new Tracker(b.getParent(), SWT.RESIZE);
tracker.setStippled(true);
Rectangle rect = b.getBounds();
tracker.setRectangles(new Rectangle[] { rect });
if (tracker.open()) {
Rectangle after = tracker.getRectangles()[0];
b.setBounds(after);
}
tracker.dispose();
}
});
左から右にドラッグし始めると、カーソルがコンポジットの右端にジャンプします。上から下に向かってドラッグし始めると、カーソルがコンポジットの下端にジャンプします。クラスのドキュメントを調べましたが、この問題を解決するための設定が見つかりませんでした。誰かがポインターを持っていますか?