通常,我做这样的事情:
public showDialog(final Object caller) {
JDialog dialog = [ ... ]
if (caller instanceof Window) {
Window w = (Window) caller;
dialog.setLocationRelativeTo(w);
w.dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,有一种单行方式吗?基本上,像:(Window) parent.dispose();或者我是否总是需要创建一个窗口来存储我的演员?
Joa*_*uer 11
是:
dialog.setLocationRelativeTo((Window) caller);
Run Code Online (Sandbox Code Playgroud)
如果要在铸造值上调用方法,则必须将其括在一组括号中:
((Window) caller).dispose();
Run Code Online (Sandbox Code Playgroud)
我个人倒只有这样做,如果那是唯一我用它做的事情.如果有两个或多个语句需要使用强制转换的值,那么我将使用您在原始代码中完成的显式变量.