2011-08-31 63 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时锁定它。 ;)