2013-01-18 2 views
3

명령 줄 인수 또는 가상 컴퓨터 인수에 따라 응용 프로그램을 보이지 않는 모드에서 시작하고 싶습니다. 보이지 않는 모드에서는 아무 것도 표시하지 않는다는 점을 제외하면 두 경우 모두 동일한 작업을 수행합니다.보이지 않는 모드에서 Java 응용 프로그램 시작

나는 JFrame.setVisible(false)을 사용하여 메인 프로그램 창을 보이지 않게 할 수 있습니다. 그러나 코드의 모든 부분을 찾아야합니다. 예를 들어 경고 메시지 팝업이 열리는 곳을 찾아야합니다 (그 중 많은 부분이 있습니다!).

더 일반적인 방법이 있습니까? 머리가없는 모드와 같은 것일 수도 있습니다 (물론 내가 원하는 바가 아닌 HeadlessExceptions을 던집니다).

감사합니다.

+3

비즈니스 로직을 디스플레이 로직과 분리 했습니까? 그렇다면 디스플레이 논리를 활성화하지 않기 위해 일부 플래그를 추가하는 것이 간단해야합니다. – Chris

+5

JFrame을 처음부터 만들지 마십시오. 그러면 JFrame을 보이지 않게 만들 필요가 없습니다. –

+0

네가 맞아, 나는보기와 논리를 더 잘 분리시켜야 할 것이다. 그래서 그런 구성 속성이 없다고 생각하니?! – MonitorLizard

답변

2

응용 프로그램 아키텍처는 어떤 모양입니까? 깨끗하게 분리 되었다면 아무것도 수행하지 않는 새로운 뷰 레이어를 만듭니다.

함께 얽힌 경우 가장 좋은 방법은 아무 것도 처리하지 않는 새로운보기 레이어를 만드는 것입니다.

0

이렇게하면됩니다.

public static void main(String[] args){ 
    boolean gui = true; 
    for (String s : args){ 
     if (s.equals("--nogui")){ 
      // Do not create GUI 
      gui = false; 
      break; 
     } 
    } 
    if (gui){ 
     // Create the gui 
    } 
} 
0

프레젠테이션 계층이 비즈니스 논리와 밀접하게 연결되어 있으면 모든 양식 및 기타 표시되는 클래스를 체크인해야합니다. 당신은 당신의 애플리케이션을 분리해야하고, 하나의 메소드를 호출하는 것처럼 쉽습니다.

다른 경우 ... 잘 너 if else if의 무리가됩니다.

관련 문제