-1
A
回答
1
假设你正在使用的Java Swing:
JFrame frame = new JFrame();
frame.setTitle("Project Planner");
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent event) {
exitProcedure();
}
});
。
public void exitProcedure() {
frame.dispose();
System.exit(0);
}
只需在dispose方法之前添加想要执行的操作即可。
0
在GUI的addWindowListener()
方法中尝试执行WindowAdapter
。
0
为此,您需要将WindowListener
注册到关联的JFrame
。并覆盖windowClosing()
方法。
EDIT
用于随机选择一个字符串出字符串数组的可以使用java.util.Random API。对于实施例在这里是每个JFrame
关闭时间的String
阵列,并且,一个String
随机挑出出这个阵列的并用方法callMeBeforeExit
印刷。
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.BorderLayout;
import java.util.Random;
class WorkBeforeClose extends JFrame
{
String[] strings = {
"Hello",
"World",
"Java",
"OOPs"
};
public void showGUI()
{
setTitle("Close me");
getContentPane().add(new JLabel("Close me"),BorderLayout.NORTH);
addWindowListener(new WindowAdapter()
{
@Override
public void windowClosing(WindowEvent evt)
{
callMeBeforeExit();
System.exit(0);//Don't write this line if you don't want your program to exit
}
});
setSize(200,200);
setVisible(true);
}
private void callMeBeforeExit()
{
Random random = new Random();
int i = random.nextInt(strings.length - 1);//Defines the Range of numbers to be chosen randomly.
System.out.println(strings[i]);
}
public static void main(String st[])
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
WorkBeforeClose wbc = new WorkBeforeClose();
wbc.showGUI();
}
});
}
}
相关问题
- 1. 将操作添加到jQuery中的删除事件中
- 2. 将事件侦听器添加到iframe
- 3. 将事件侦听器添加到JFrame
- 4. 将“this”添加到事件侦听器?
- 5. Hammer.js不能删除事件侦听器
- 6. 删除CSS transitionend事件侦听器不工作
- 7. 我如何以正确的方式将操作侦听器添加到JList?
- 8. 处理多个操作侦听器
- 9. 移除机器人默认操作栏
- 10. 触发事件的默认操作
- 11. 如何将事件侦听器添加到来自外部控制器的操作?
- 12. 在脚本不工作中添加点击事件侦听器
- 13. 使用参数添加和删除事件侦听器
- 14. 删除后重新添加事件侦听器 - Javascript
- 15. 删除使用绑定添加的事件侦听器
- 16. 我可以在Flex中将事件侦听器添加到数据绑定操作中吗?
- 17. XMLHTTPRequest事件侦听器不工作?
- 18. swfobject事件侦听器不工作?
- 19. postMessage()事件侦听器不工作
- 20. “滚动”事件侦听器不工作
- 21. Firebase'child_removed'事件侦听器不工作
- 22. 如何从父级删除jQuery事件侦听器而不删除相似的侦听器?
- 23. 不能将事件侦听器添加到对象。 fabricjs
- 24. 默认事件添加/删除实现
- 25. 如何删除事件侦听器?
- 26. 如何删除事件侦听器?
- 27. Chrome删除事件侦听器?
- 28. gmap3删除事件侦听器
- 29. 的NodeJS删除事件侦听器
- 30. 删除新库的事件侦听器
另一个问题是,我想随意采摘一个字符串,然后放入的System.out.println?我该如何做到这一点,谢谢 – 2013-03-13 17:29:49
@JoshuaBaron你有'字符串'存储在'数组'字符串'? – 2013-03-13 17:31:18
不,我不只是在正常的字符串中加入 – 2013-03-13 17:40:06