我正在试验java,我正在尝试创建我的“JOptionPane”。基本上它是一个返回值的JPanel。 (JPanel拥有者)
我想使它的行为类似于JOptionPane,它应该在返回值时自行销毁。
方法是:
public Value getValue(){
try{
dispose();
}finally{
return value;
}
}
我使用了try - finally块来确保它会返回值,但是有了更多的“实验”代码可以不用尝试 - finally块。
如何在dispose()之后使用语句和方法?
即使此代码有效
public Person getPerson(){
dispose();
System.out.println("aaa");
printFromMethod();
return person;
}
在返回值后面板会被处理吗?
答案 0 :(得分:2)
根据java文档, Dispose方法释放此Window,其子组件及其所有子组件使用的所有本机屏幕资源。
这并不意味着对象可以执行此功能,因为此方法仅清除屏幕资源,并且不会影响与UI无关的代码。
但是在这种情况下你不应该从JPanel调用Dispose方法,因为它仍然附加到它的父级,所以调用方法将无法实现你想要的,而你应该做的是调用JFrame中的Dispose方法