2012-02-24 51 views
3

處置動作事件我想一個JFrame中有這樣的方法:的Java:從不同的JFrame

private void someEvent(java.awt.event.ActionEvent evt){ 

    //initialize another JFrame 
    //set the new JFrame to be visible 
    //set this JFrame to be disabled 

} 

這是可能的,但我也希望新創建的JFrame被設置在主JFrame的執行的東西。但是我不想將主JFrame傳遞給新的JFrame。這可能嗎?

回答

4

沒有一個JFrame創建並顯示另一個JFrame。相反,第二個窗口應該是一個JDialog,如果你希望第一個窗口被凍結,直到第二個窗口被處理或者非模態化,否則就是模態。如果是模態,那麼一旦JDialog被丟棄,第一個窗口的代碼就會恢復,並且代碼流將在調用對話框setVisible(true)之後立即開始。如果非Modal,則可能需要將WindowListener添加到對話框。

例如,請查看我的代碼hereherehere

+1

+1好的選擇。 – trashgod 2012-02-24 21:39:21

+0

@trashgod:同上。 1+ – 2012-02-24 21:42:15