1

JDialog が設定されているときにサイズ変更可能にする方法を知りたいですsetUndecorated(true);。サイズ変更は外枠で行うことができます。装飾なしの場合は枠がなくなり、JDialog のサイズ変更はできません。外部フレームが使用できない場合、JDialog のサイズを変更するにはどうすればよいですか?

4

2 に答える 2

2

これはテストしていませんが、私が収集したところから、次の方法が必要なようです。

// window reszie event
private void _setUpWindowResizeEvent() {
this.addMouseMotionListener(
new MouseMotionListener() {

public void mouseDragged(MouseEvent mouseEvent) {
if( mHozResizeEnabled || mVerResizeEnabled ) {
int x = mouseEvent.getX();
int y = mouseEvent.getY();
_resizeWindow(
MouseInfo.getPointerInfo().getLocation() );
sticky.setSize( getSize() );
_fireStickyUpdated();
}
}

参照: http ://tech.groups.yahoo.com/group/JPGroup/message/1877

于 2012-08-31T04:43:09.747 に答える
2

ユーザーが装飾されていないダイアログのサイズを変更する方法を意味していると思います(いつでも呼び出すことができる開発者としてsetSize

これを行う唯一の方法は、自分でロジックを実装することです。

これには、 、およびイベントを実装しMouseListenerて監視する必要があります。mousePressedmouseReleasedmouseDragged

おそらく、サイズ変更をトリガーするダイアログの周囲にガターのみが必要であることを考慮する必要があります (たとえば、5 ピクセル)。マウスリスナーをオーバーライドするため、このガター内に他のコンポーネントを配置しないことが重要です。

于 2012-08-31T04:38:47.740 に答える