2013-02-20 102 views
0

我有一些麻煩了解如何使JButton提示用戶在關閉程序之前將內容保存在JTextArea中。到目前爲止,我有我的按鈕關閉操作一些代碼,但即使這似乎並沒有工作...沒有任何反應,當我點擊它:添加關閉操作到JButton

public void actionPerformed(ActionEvent event) { 

    if(event.getSource() == this.Quit) 
     this.dispose(); 
.... 

其餘的都是別人多/ IF /試其他按鈕的語句。

我設置我的類來擴展JFrame並實現ActionListener,所以我的整個程序都在一個類中......可能不是一個非常整齊的代碼方式,但是我發現在我之前將所有東西粘貼到這裏更容易將一些函數分配給其他類。

基本上,沒有任何反應,我不知道如何添加保存提示並隨後關閉它。任何幫助將是偉大的!

+0

這個'actionPerformed'來自哪個組件?你的框架或按鈕?很難提供這麼少的細節幫助。 – 2013-02-20 21:14:46

+0

1)*「我設置我的類來擴展JFrame並實現ActionListener,因此我的整個程序都在一個類中......」*我可以在一個源文件*中創建代碼,既不擴展框架也不需要它實現動作偵聽器。考慮爲每個按鈕添加一個匿名內部操作。 2)爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2013-02-21 02:14:18

回答

0

試試這個:

MyClass.this.setVisible(false); 

也爲硬應用程序退出做:

System.exit(0); 
+0

提供的短代碼不能顯示出足夠的位置來調用'this.dispose'的調用。我刪除了我最後的評論,因爲您提供的代碼實際上可能正常工作。 – 2013-02-20 21:11:17

+0

謝謝! System.exit(0);第一個沒有出於某種原因而工作,但至少它正在關閉應用程序。有沒有什麼辦法可以在關閉之前將其與保存提示相關聯?這是一個記事本程序,所以我希望它將JTextArea中的內容保存到文件中。 – floatfil 2013-02-20 21:36:09

0

一個更簡單的方法做你想要的是這樣的:

class MyClass extends JFrame{ 
    public MyClass(){ 
     JButton myButton; 
     //... etc 
     myButton.addActionListener(new ActionListener(){ 

      public void actionPerformed(ActionEvent event){ 
       MyClass.this.setVisible(false); 
      } 
     }); 
    } 
} 
1

有沒有什麼辦法可以在關閉之前將其與保存提示相關聯?

請參閱Closing an Application

注意:您也可以將ExitAction添加到您的JButton中。然後當你點擊按鈕時,它將啓動關閉窗口。