SWTで画面の外にウィンドウが出た場合に位置を修正する方法

「SWTで画面の外にウィンドウが出た場合に位置を修正する方法」の編集履歴(バックアップ)一覧はこちら

SWTで画面の外にウィンドウが出た場合に位置を修正する方法」(2010/02/24 (水) 20:42:27) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

Rectangle r = parent.getBounds(); Point location = parent.getParent().toDisplay(r.x, r.y); Shell shell = new Shell(parent, checkStyle(SWT.NONE)); // 画面の外に出ない対応 shell.setBounds(location.x, location.y, listSize.x, listSize.y);//一度セットしてからモニタを取得する Monitor moni = shell.getMonitor(); Rectangle moniRect = moni.getBounds(); if (location.x < moniRect.x) { location.x = moniRect.x; } else if ((moniRect.x + moniRect.width) < location.x + listSize.x) { location.x = moniRect.x + moniRect.width - listSize.x; } if (location.y < moniRect.y) { location.y = moniRect.y; } else if ((moniRect.y + moniRect.height) < location.y + listSize.y) { location.y = moniRect.y + moniRect.height - listSize.y; } -----
Rectangle r = parent.getBounds(); Point location = parent.getParent().toDisplay(r.x, r.y); Shell shell = new Shell(parent, checkStyle(SWT.NONE)); // 画面の外に出ない対応 shell.setBounds(location.x, location.y, listSize.x, listSize.y);//一度セットしてからモニタを取得する Monitor moni = shell.getMonitor(); Rectangle moniRect = moni.getBounds(); if (location.x < moniRect.x) { location.x = moniRect.x; } else if ((moniRect.x + moniRect.width) < location.x + listSize.x) { location.x = moniRect.x + moniRect.width - listSize.x; } if (location.y < moniRect.y) { location.y = moniRect.y; } else if ((moniRect.y + moniRect.height) < location.y + listSize.y) { location.y = moniRect.y + moniRect.height - listSize.y; } -----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。