java中EXIT_ON_CLOSE字段的调用问题?
答案:1 悬赏:10 手机版
解决时间 2021-02-15 03:18
- 提问者网友:难遇难求
- 2021-02-14 23:05
java中EXIT_ON_CLOSE字段的调用问题?
最佳答案
- 五星知识达人网友:持酒劝斜阳
- 2021-02-14 23:16
具体的可以查看源代码,JFrame的setDefaultCloseOperation:
public void setDefaultCloseOperation(int operation) {
if (operation != DO_NOTHING_ON_CLOSE &&
operation != HIDE_ON_CLOSE &&
operation != DISPOSE_ON_CLOSE &&
operation != EXIT_ON_CLOSE) {
throw new IllegalArgumentException("defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, or EXIT_ON_CLOSE");
}
。。。。。。
}也就是说,参数是个int类型,但只接受DO_NOTHING_ON_CLOSE 、HIDE_ON_CLOSE 、DISPOSE_ON_CLOSE 、EXIT_ON_CLOSE四个值,这四个值是常量。
public static final int DO_NOTHING_ON_CLOSE = 0;
public static final int HIDE_ON_CLOSE = 1;
public static final int DISPOSE_ON_CLOSE = 2;
public static final int EXIT_ON_CLOSE = 3;不一定非要用JFrame.EXIT_ON_CLOSE ,也可以用WindowConstants.EXIT_ON_CLOSE。因为JFrame类实现了WindowConstants接口,而WindowConstants定义的这四个属性的值和JFrame一样。
其实直接用setDefaultCloseOperation(3);也是可以的,只是不直观,不推荐。
因为你这个类继承了JFrame,所以可以直接调用父类(即JFrame)的所有public属性,所以直接写EXIT_ON_CLOSE 也不会报错。
public void setDefaultCloseOperation(int operation) {
if (operation != DO_NOTHING_ON_CLOSE &&
operation != HIDE_ON_CLOSE &&
operation != DISPOSE_ON_CLOSE &&
operation != EXIT_ON_CLOSE) {
throw new IllegalArgumentException("defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, or EXIT_ON_CLOSE");
}
。。。。。。
}也就是说,参数是个int类型,但只接受DO_NOTHING_ON_CLOSE 、HIDE_ON_CLOSE 、DISPOSE_ON_CLOSE 、EXIT_ON_CLOSE四个值,这四个值是常量。
public static final int DO_NOTHING_ON_CLOSE = 0;
public static final int HIDE_ON_CLOSE = 1;
public static final int DISPOSE_ON_CLOSE = 2;
public static final int EXIT_ON_CLOSE = 3;不一定非要用JFrame.EXIT_ON_CLOSE ,也可以用WindowConstants.EXIT_ON_CLOSE。因为JFrame类实现了WindowConstants接口,而WindowConstants定义的这四个属性的值和JFrame一样。
其实直接用setDefaultCloseOperation(3);也是可以的,只是不直观,不推荐。
因为你这个类继承了JFrame,所以可以直接调用父类(即JFrame)的所有public属性,所以直接写EXIT_ON_CLOSE 也不会报错。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯