2011-08-31 3 views
2

텍스트 파일을 읽고 텍스트 내의 일부 줄을 변경하는 클래스 A을 만들었으며 코드는이 클래스의 main()에 기록됩니다. 또 다른 클래스 BFrame이고, Frame은 디렉토리와 버튼의 텍스트 파일 목록을 포함하고 있습니다. 목록에서 선택한 항목을 클릭하고 버튼을 클릭하면 main 함수가 호출되고 선택된 항목을 main()이 읽는 중입니다.함수 메인 관리

모든 제안을 환영하며 미리 감사드립니다.

+1

코드를 표시하십시오 – develerx

+1

왜이 경우에'main'을 호출하기를 원합니까? 프로그램의 시작점이 될 목적으로 남겨 두십시오. 처리를 위해 다른 기능 (아마도 비 정적)을 가져야합니다. –

답변

3

정적 메인 메서드에 코드가있는 경우 비 객체 지향 코드 블록이 있습니다.이 코드 블록은 프로그램의 다른 객체 지향 호환 부분에서 쉽게 사용하지 못합니다. 가장 좋은 해결책은 모든 코드를 얻고 최소한의 코드 만 얻고 다른 클래스에서보다 쉽게 ​​사용할 수있는 진정한 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를 잠 그려면 백그라운드 스레드를 사용하는 것이 좋습니다. ;)