我創建了一個類A
,它讀取文本文件並更改文本中的一些行,並且代碼編寫在此類的main()
中。我還創建了另一個類B
,它有一個Frame
,Frame
包含一個目錄和一個按鈕的文本文件列表。我不知道該怎麼做的是這樣的:當我點擊列表上的選定項目並點擊按鈕時,調用main函數,main()
正在讀取所選項目。管理功能主
歡迎任何建議,並提前致謝。
我創建了一個類A
,它讀取文本文件並更改文本中的一些行,並且代碼編寫在此類的main()
中。我還創建了另一個類B
,它有一個Frame
,Frame
包含一個目錄和一個按鈕的文本文件列表。我不知道該怎麼做的是這樣的:當我點擊列表上的選定項目並點擊按鈕時,調用main函數,main()
正在讀取所選項目。管理功能主
歡迎任何建議,並提前致謝。
當你在靜態main方法中有代碼時,你有一個非面向對象的代碼塊,一個不容易被其他面向對象的程序部分使用的代碼塊。這裏最好的解決方案是獲得所有代碼,但最小化了外部代碼,並創建了一個真正的符合OOP的類,其中一個類可以更容易地被其他類使用。
您的其他問題是將您的文本處理代碼與您的GUI代碼混合在一起,這可能需要進一步修復,特別是在文本處理代碼需要一段時間才能完成或者CPU耗盡的情況下。如果是這樣,您需要注意在GUI線程背景的線程中執行文本處理,而且,如果文本處理代碼處於運行良好的OOP類中,這將更容易執行。
再次上課+1 – mKorbel
主要方法就像任何其他方法一樣,你可以用同樣的方法來調用它。
class A {
public static void main(String... args) {
String filename = args[0];
}
}
class B {
public void onFilename(String filename) {
A.main(filename);
}
}
您可能想要使用後臺線程,而不是在處理GUI時鎖定它。 ;)
向我們顯示您的代碼 – develerx
爲什麼要在這種情況下調用'main'?只是爲了它的目的,這是程序的入口點。有另一個功能(可能是非靜態的)進行處理。 –