请教:如何使一个 JFrame 以 Modal 的方式 show 出来,以下还有小技巧=》(200分)

  • 主题发起人 主题发起人 paulorwys
  • 开始时间 开始时间
P

paulorwys

Unregistered / Unconfirmed
GUEST, unregistred user!
另外:
如何才点击一个 JFrame 关闭按钮后可以终止关闭,
如同C++ Builder 的 OnClose 事件之中的 Abort 方法?
 
这样,
你实现一个继承自 JDialog的类,
先setModal(true), 然后再setVisible
第二个问题:
JFrame.setDefaultCloseOperation(int),
JDialog.setDefaultCloseOperation(int),
static int DISPOSE_ON_CLOSE
The dispose-window default window close operation.
static intdo
_NOTHING_ON_CLOSE
Thedo
-nothing default window close operation
static int EXIT_ON_CLOSE
The exit application default window close operation.
static int HIDE_ON_CLOSE
The hide-window default window close operation
 
第一个问题,我看过很多用的是JDialog,为什么不用 JFrame,非得自定义类??
第二个问题,很多用的是 dispose + hide,但是我总觉得还是没有将该窗体从内存中清除掉,因为再次 show 的时候从关闭时候的位置 show出来,而Dialog不会出现这个问题,
 
第一,因为JFrame不支持setModal方法
第二,是的,如果你不把对象指针置为空null,对象当然还存在,对象的某些属性也会存在
正确的做法是将窗口 dispose,然后再把对象置为null
对象就不存在了
对JDialog来说,虽然不会记住原来的位置,但实际上是一样的,
对象都没有释放,仅仅是释放了对象占用的窗口句柄资源而已
 
而且,JDialog也不是自定义的类,是J2SE提供的类
 
后退
顶部