setmaximumsize java_swing中setMaximumSize方法失效--如何解决?

importjava.awt.Dimension;importjava.awt.event.ComponentAdapter;importjava.awt.event.ComponentEvent;importjavax.swing.JFrame;publicclassJFrameResizeTest2extendsJFrame{publ...

import java.awt.Dimension;

import java.awt.event.ComponentAdapter;

import java.awt.event.ComponentEvent;

import javax.swing.JFrame;

public class JFrameResizeTest2 extends JFrame {

public static void main(String args[]) {

try {

JFrameResizeTest2 frame = new JFrameResizeTest2();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

public JFrameResizeTest2() {

super();

setBounds(100, 100, 500, 375);

this.setTitle("限制窗口大小变化");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setMinimumSize(new Dimension(400, 300)); // 设置最小值,这个效果比较好,比事件处理的效果好。

this.setMaximumSize(new Dimension(800, 600)); // 不知道为什么设置最大值没效果

//下面的方法只能在鼠标释放后才能检测到窗体大小的改变

/*

this.addComponentListener(new ComponentAdapter() {

public void componentResized(final ComponentEvent e) {

int width = e.getComponent().getWidth();

int height = e.getComponent().getHeight();

if (width > 800) {

width = 800;

}

if (height > 600) {

height = 600;

}

setSize(width, height);

}

});

*/

}

}

我想实现的效果是,用鼠标无法将窗口拖动得过小,也无法将窗口拖动得过大......

方法setMinimumSize()能设置窗口的最小值,setMaximumSize()能设置窗口的最小值,但是从执行效果看,后者其实没有起作用....

对窗体增加监听器后(注释部分),却只能在鼠标释放后判断窗体大小,实现不了限制拖动的功能........

我从网上查到据说可以继承Window类来实现.....请问怎样实现?

理论上,方法setMinimumSize()能设置窗口的最小值,setMaximumSize()能设置窗口的最大值 .

总而言之,是要让窗体可以拖动,但限制拖动的范围......就像命令行提示符的窗口那样....

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值