JFrame設定最大サイズ
1392 ワード
窓口のサイズを制限する必要がある場合が多いです。ウィンドウをあるサイズに固定するのではなく、範囲です。
最小サイズを制限するには、JFrameのset MinimSize()の方法があります。ただし、最大サイズを設定してsetMaximSizeを呼び出すことはできません。原因は不明です
だから私の考えは モニターウィンドウのサイズ変更イベントは、最大サイズに達したらRobotクラスでマウスを操作します。
まず、サイズ変更イベントを傍受します。
そこで、Size Lisenterを新規作成します。 クラスは、ComponentAdapterを継承し、putblic void componentResized(ComponentEvent e)を書き換えます。方法
まずメンバー変数を決定します。
使用時に肉眼で見える大きさの変化があります。
最小サイズを制限するには、JFrameのset MinimSize()の方法があります。ただし、最大サイズを設定してsetMaximSizeを呼び出すことはできません。原因は不明です
だから私の考えは モニターウィンドウのサイズ変更イベントは、最大サイズに達したらRobotクラスでマウスを操作します。
まず、サイズ変更イベントを傍受します。
this.addComponentListener()
操作は多くの変数を教えることにつながるので、匿名クラスを使うのには不向きです。そこで、Size Lisenterを新規作成します。 クラスは、ComponentAdapterを継承し、putblic void componentResized(ComponentEvent e)を書き換えます。方法
まずメンバー変数を決定します。
private JFrame jFrame;// ,
private int width;//
private int height;//
そして一意の構造方法で値を付けます。public SizeLisenter(JFrame jFrame, int width, int height) {
super();
this.jFrame = jFrame;
this.width = width;
this.height = height;
}
最後に応答方法です。/**
*
*/
public void componentResized(ComponentEvent e) {
Robot r = null;//
try {
r = new Robot();
} catch (AWTException e1) {
e1.printStackTrace();
}
if (jFrame.getWidth() > width) {// , ,
jFrame.setSize(width, jFrame.getHeight());
if (r!=null) {
r.mouseRelease(InputEvent.BUTTON1_MASK);//
}
}
if (jFrame.getHeight() > height) {
jFrame.setSize(jFrame.getWidth(), height);
if (r!=null) {
r.mouseRelease(InputEvent.BUTTON1_MASK);
}
}
}
最後にフォームにイベントを登録すればいいです。使用時に肉眼で見える大きさの変化があります。