java 如何监听jframe窗口最大化以及恢复窗口事件

 我来答
zh...4@126.com
2017-10-30 · 超过29用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:31.3万
展开全部
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class jishiben {
static JFrame frm = new JFrame();
static JDialog jdia = new JDialog(frm);
static JButton but = new JButton("OK");
public static void main(String[] args) {
frm.setVisible(true);
frm.setBounds(100, 100, 200, 200);
hello hello = new hello();
frm.addWindowListener(hello);
frm.addWindowFocusListener(hello);//添加WindowFocusListener
frm.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//改为点X不做任何操作
jdia.setBounds(50, 50, 100, 100);
jdia.add(but);
but.addActionListener(new ButtonAction());//添加点OK,关闭程序
}
private static final class ButtonAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
}
static class hello extends WindowAdapter {
public void windowClosing(WindowEvent e) {
jdia.setVisible(true);
}
public void windowLostFocus(WindowEvent e) {
frm.setTitle("lost");
}
}
}
//你没有仔细研究,Listener和Adapter的关系,并不是一一对应关系,如WindowAdapter对应WindowFocusListener, WindowListener, WindowStateListener, EventListener。
WindowListener并不会监听windowLostFocus事件。
//第二个问题:
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
这句话等于说一点X,就关闭程序,所以才显示不出确认对话框。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
地瓜说机
2017-10-30 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2.3万
采纳率:91%
帮助的人:1.2亿
展开全部
好像 只有 这个改变的 int~ COMPONENT_RESIZED
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式