java 板


LINE

※ 引述《Jnaive (嘿嘿)》之铭言: : 请教各位大大一个swing的问题 : 我想要在按下视窗的X按纽後,去做些事 : 我的程式码大概如下: : 我发现我的程式在视窗执行後,main仍然持续的执行 : 我要如何修改,才能让gui.go()那行以下要做的事,是在按X纽後才执行? : 谢谢!! 打完一大篇要post之前重新看了一次问题 才发现我会错意了 (呜 期中考前宝贵的时间T.T ...我是笨蛋) JFrame execute=new JFrame(); execute.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //如果用EXIT_ON_CLOSE结束时会类似System.exit(-1); 的状况 //所以要用DISPOSE_ON_CLOSE execute.setVisible(true); while(execute.isValid()){ try{ Thread.sleep(3000); //这是为了不要让系统资源吃太凶, //3000是3000毫秒 , 表示三秒侦测一次状态 }catch(Exception e){} System.out.println("还没关"); } System.out.println("关了"); 底下这边是不小心把它想太难所写的一大篇 应该会有人有需要所以也贴出来 (其实是不甘心打一大篇没贴 XD) 底下是我把题目误解成按X後执行一些确认的动作, 再决定要不要把Frame关闭的回答内容。 ------ 基本上这个应该是要写在Frame里面 这是从API的Frame架构里面撷取出来的XD http://0rz.net/511eW Frames are capable of generating the following types of WindowEvents: WINDOW_CLOSING: If the program doesn't explicitly hide or dispose the window while processing this event, the window close operation is canceled. Since: JDK1.0 See Also: WindowEvent, Window.addWindowListener(java.awt.event.WindowListener), Serialized Form 我猜这应该是要写 http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowAdapter.html 里的windowClosing(WindowEvent e) event 然後再用Frame的addWindowListener()来add这个windowsListener (别急着按←跳出去...不是都是我猜跟我在说 ... 後来小弟有试着去实作这个问题 发现其实还蛮简单的 XD) 经过刚刚测了一下的结果 底下的GUI form可以做到 按X 询问是否要关闭的功能 XD import java.awt.event.*; import javax.swing.*; class PracticeGUI extends JFrame{ public static void main(String args[]){ PracticeGUI execute=new PracticeGUI(); execute.setVisible(true); } PracticeGUI(){ addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ JFrame jf= (JFrame)e.getSource(); jf.setState(jf.DO_NOTHING_ON_CLOSE); if(JOptionPane.showConfirmDialog(null,"确定关闭?","", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){ jf.dispose(); } } } ); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); setSize (700,500); setTitle("练习用GUI"); } } -- 嗄嗄 期中考周为甚麽我还混在这里呀.. 因为在这里回文是一种快速增进自己功力和消除考试压力的良方啊... 大家来讨论Java吧!!!>///<~~~ -- String temp="relax"; | Life just like programing while(buringlife) String.forgot(temp); | to be right or wrong while(sleeping) brain.setMemoryOut(); | need not to say stack.push(life.running); | the complier will stack.push(scouting.buck()); | answer your life stack.push(bowling.pratice()); | Bone everything --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.57
1F:推 kairy:推,刚好用得到,太感谢 05/13 15:50







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP