java 如何监听jframe窗口最大化以及恢复窗口事件 windowStateChanged(WindowEvent e)怎么区分最大化、恢复、以及最小化事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好像 只有 这个改变的 int~ COMPONENT_RESIZED 可以通过e.getNewState()来获取啊 public class WinFrame extends JFrame { public WinFrame(){ this.setName("Window 窗口状态"); this.setSize(300,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.addWindowStateListener(new WindowStateListener () { public void windowStateChanged(WindowEvent state) { if(state.getNewState() == 1 || state.getNewState() == 7) { System.out.println("窗口最小化"); }else if(state.getNewState() == 0) { System.out.println("窗口恢复到初始状态"); }else if(state.getNewState() == 6) { System.out.println("窗口最大化"); } } }); this.setVisible(true); } public static void main(String[] args) { new WinFrame(); } JFrame frame = new JFrame(); frame.addWindowStateListener(new WindowStateListener(){ @Override public void windowStateChanged(WindowEvent e) { if(e.getOldState() != e.getNewState()){ switch (e.getNewState()) { case Frame.MAXIMIZED_VERT: // 最大化 break; case Frame.ICONIFIED: // 最小化 break; case Frame.NORMAL: // 恢复 break; default: break; } } } }); 不好意思,最大化那个常量写错了,应该是Frame.MAXIMIZED_BOTH Javac编译时报:错误:仅当显式请求注释处理时才接受类名称*** 是怎么回事啊? Byte和String的转换 java中对象的参数传递都是引用传递? 可以运行成功只是不是我想要的效果:窗体显示不出来。 ----怎样关闭frame------ 如何得到当前日期在当前月份中处于第几个星期 一月大概有四个到五个星期 问一个如何判断null的问题 !!!600里加急:我用这个循环可以建立多个能够同时运行的线程吗? Struts has detected an unhandled exception: java 小知识提问 如何将MySQL驱动包随工程一起导出? 字符串处理算法
public class WinFrame extends JFrame { public WinFrame(){
this.setName("Window 窗口状态");
this.setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addWindowStateListener(new WindowStateListener () { public void windowStateChanged(WindowEvent state) {
if(state.getNewState() == 1 || state.getNewState() == 7) {
System.out.println("窗口最小化");
}else if(state.getNewState() == 0) {
System.out.println("窗口恢复到初始状态");
}else if(state.getNewState() == 6) {
System.out.println("窗口最大化");
}
}
});
this.setVisible(true);
}
public static void main(String[] args) {
new WinFrame();
}
JFrame frame = new JFrame();
frame.addWindowStateListener(new WindowStateListener(){
@Override
public void windowStateChanged(WindowEvent e) {
if(e.getOldState() != e.getNewState()){
switch (e.getNewState()) {
case Frame.MAXIMIZED_VERT:
// 最大化
break;
case Frame.ICONIFIED:
// 最小化
break;
case Frame.NORMAL:
// 恢复
break;
default:
break;
}
}
}
});
Frame.MAXIMIZED_BOTH