2011-08-31 97 views
2

我創建了一個類A,它讀取文本文件並更改文本中的一些行,並且代碼編寫在此類的main()中。我還創建了另一個類B,它有一個FrameFrame包含一個目錄和一個按鈕的文本文件列表。我不知道該怎麼做的是這樣的:當我點擊列表上的選定項目並點擊按鈕時,調用main函數,main()正在讀取所選項目。管理功能主

歡迎任何建議,並提前致謝。

+1

向我們顯示您的代碼 – develerx

+1

爲什麼要在這種情況下調用'main'?只是爲了它的目的,這是程序的入口點。有另一個功能(可能是非靜態的)進行處理。 –

回答

3

當你在靜態main方法中有代碼時,你有一個非面向對象的代碼塊,一個不容易被其他面向對象的程序部分使用的代碼塊。這裏最好的解決方案是獲得所有代碼,但最小化了外部代碼,並創建了一個真正的符合OOP的類,其中一個類可以更容易地被其他類使用。

您的其他問題是將您的文本處理代碼與您的GUI代碼混合在一起,這可能需要進一步修復,特別是在文本處理代碼需要一段時間才能完成或者CPU耗盡的情況下。如果是這樣,您需要注意在GUI線程背景的線程中執行文本處理,而且,如果文本處理代碼處於運行良好的OOP類中,這將更容易執行。

+0

再次上課+1 – mKorbel

3

主要方法就像任何其他方法一樣,你可以用同樣的方法來調用它。

class A { 
    public static void main(String... args) { 
     String filename = args[0]; 
    } 
} 

class B { 
    public void onFilename(String filename) { 
     A.main(filename); 
    } 
} 

您可能想要使用後臺線程,而不是在處理GUI時鎖定它。 ;)