2013-04-25 45 views
1

這是情景:如何處理setVisible(false)後打開的JDialog?

  • 添加的windowOpened()處理程序的JDialog的新實例
  • 使用jdialog.setVisible(真)首次
  • 顯示對話框
  • 如期望的那樣的windowOpened()處理程序觸發
  • jdialog.setVisible(假)
  • jdialog.setVisible(真)
  • 預期,但沒有發生:的windowOpened()處理觸發

如何處理的情況時,我的模式對話框出現在屏幕上時,它是第一次或後續次我打電話調用setVisible(真)?

+0

[聽衆之一適合於可見性的JPanel的可能重複](http:// sta ckoverflow.com/questions/10880326/jpanel-which-one-of-listeners-is-proper-for-visibility-is-changed) – 2013-04-25 11:36:35

+0

嗯......引用是有用的,謝謝。但它不是一個重複的,因爲我的問題是完全約的JDialog,但不是任何事情的JComponent – 2013-04-25 12:41:34

+0

的子類,我認爲這是一個重複的,因爲你的問題是一個我所引用的一個子集。無論哪種方式,很高興你有一個答案。 – 2013-04-25 12:45:26

回答

3

如何處理的情況時,我的模式對話框出現在屏幕上 只要是第一次或以後的時間我叫 調用setVisible(真)?

  • 必須使用的ComponentListener,並覆蓋方法的componentHidden()和的componentShown()

  • 的JComponent必須返回從isDisplayable真()

  • more here

+0

你真的很快=)謝謝! – 2013-04-25 11:37:14

相關問題