2012-12-21 7 views
6

AWT 및 Swing 기능을 사용하여 애니메이션 출력을 데스크탑에 씁니다. 2D 그래픽을 사용하여 텍스트를 렌더링하고 텍스트를 글꼴로 렌더링합니다.AWT와 Swing을 사용하여 서버 측에 무비를 그리는 Java 응용 프로그램을 이식합니다.

이 코드는 Java Media Framework를 사용하여 동영상을 동영상 파일에 저장할 수 있습니다.

웹 UI 작업을 위해이 코드를 순수한 서버 측 환경으로 이식하고 싶습니다. 드로잉 코드는 서블릿 컨테이너 내부 나 외부에서 명령 줄 프로그램으로 실행될 수 있습니다. (또는 서블릿 컨테이너를 사용하지 않고 명령 줄에서 Java 웹 서버를 실행하는 새로운 방법을 사용할 수 있습니다.)

서버에서 X Window System을 시작하지 않고 AWT 및 Swing 드로잉 기능을 사용할 수 있습니까?

+0

Java 컨테이너를 열지 않고 코드를 실행 하시겠습니까? –

+0

X 윈도우 시스템이나 GUI를 열지 않고 코드를 실행하고 싶습니다. 컨테이너에서 실행하거나 콘솔 앱으로 직접 실행할 수 있습니다. – mparaz

답변

11

문서 Using Headless Mode in the Java SE Platform에는 이러한 응용 프로그램에 부과 된 제한 사항이 요약되어 있습니다.

구체 예로 JFreeChart은 데스크탑 및 서블릿 컨텍스트에서 널리 사용되는 그래픽 프로그램입니다. 후자의 경우, 헤드없는 환경에서 렌더링 된 내용을 스트리밍하는 데 여러 개의 ChartUtilities 중 하나를 사용할 수 있습니다.

Java Web Start 또는 JFreeChart 데모 (here)와 같이 기존의 Swing 응용 프로그램을 배포하는 것이 좋습니다.

부록 :이 Oracle 포럼 thread은 Java Media Framework가 실제로 HeadlessException을 가져올 수 있다고 제안합니다. headless 모드를 사용할 수없는 경우 thread 대안으로 Xvfb 또는 vnc을 제시

-Dawt.toolkit=sun.awt.HeadlessToolkit 

JFreeChart 포럼 : 제안 된 해결 방법은 특정 시스템 속성 값을 지정하는 것입니다.

+0

감사합니다. 이것은 움직이는 애니메이션에도 적용됩니까? 미안 해요 (지금 편집 됨) 내 설명에 분명하지 않았습니다. – mparaz

+0

나는 더 이상의 긍정적 인 결과를 환영하지만 위의 내용을 상세하게 설명했습니다. – trashgod

+0

고마워요! AWT/Swing처럼 가짜 그래픽 시스템이 필요합니다. – mparaz

관련 문제