2011-03-19 3 views
0
나는 이미지의 이클립스 같은 제목 표시 줄이없는 로딩 JFrame의를 생성 할 수있는 방법

... enter image description here로드 Spalsh 화면

기다릴 제목 표시 줄 및 스레드를 제거하는 setUndecorate()를 사용 3 초 후 기본 창이 열리지 만 작동하지 않습니다. 진행률 표시 줄을 사용할 생각이 없습니다 ...

어떻게해야합니까 ??

미리 감사드립니다.

최저 rgards,

알리

답변

1

또 다른 방법은 이미 생각한 것일 수 있습니다. 응용 프로그램이 시작될 때 꾸며지지 않은 JFrame을 표시 한 다음 몇 초 동안 기다리지 않고 (사용자가 일부 정보를 읽으려면 사용자도 할 수 있습니다) 응용 프로그램을 초기화하십시오. 초기화가 끝나면 "스플래시 화면"(장식되지 않은 JFrame)을 닫고 실제 응용 프로그램 JFrame을 엽니 다.

이렇게하면 동적 정보 (예 : 나중에 텍스트를 원하는 경우 진행률 막대 등)를 표시 할 수 있습니다. 정적 스플래시 화면 만 있으면 앤드류 (Andrew)의 조언을 듣고 기본 스플래시 화면 기능을 사용하십시오.

+0

* 장식되지 않은 JFrame *은 실제로 VM을로드하는 전체 저속 디스크 부분을 의미하며 JRE는 초기화 할 클래스 경로의 첫 번째 jar 이상을 완료했습니다. 스플래시 화면 아이디어는 가볍고 빠르게로드 할 수 있어야합니다. – bestsss

+0

내가 말했듯이, 정적 스플래시 화면으로 충분하다면 기능을 위해 빌드를 진행해야합니다. 동적 스플래시 화면에 SplashScreen 클래스를 사용하려면 JVM이 먼저 시작해야합니다. – Thomas

+0

".. 동적 스플래시 스크린은 JVM이 먼저 시작해야합니다. 그렇지 않습니까?" 사실이지만 JRE의 ** parts **가 스플래시를 표시하고 (이 경우) 변경할 수 있기 전에로드해야합니다. 그리고 그것은 1.6과 ex JWS, 당신이 제안한 것을하는 방법은 (java.awt.) Frame, JFrame이 아닌 Window. Swing 클래스를로드하면로드 할 다른 많은 클래스가 트리거됩니다. –

2

SplashScreen 클래스를 참조하십시오.

쓸 수있는 Graphics2D 개체를 반환하는 createGraphics() 메서드가 포함되어 있습니다. 그래픽 객체에 진행률 막대를 그려야합니다.


Java Web Start는 발사 파일에 구성된 시작 화면 기능을 제공합니다. 그러나 JWS 스플래시 화면의 그래픽 개체는 앱에서 사용할 수 없습니다. ('진행 표시 줄'이 없으므로).

+0

WS가 자바 콘솔을 시작하면 스플래시 화면이 낭비되고, WS의 가장 느린 부분은 일반적으로 병의 서명 유효성 검사입니다. – bestsss

+0

'the WS'란 무엇입니까? 그것은 Java Web Start를 말하는 것입니까? –

+0

@bestsss 좋은 지적. OTOH 참고 사항 : 1) JWS 스플래쉬가 JAR에 없습니다. 2) 'JAR 파일의 유효성 검사'는 모든 JWS 앱에 불필요합니다. (JWS 클라이언트가 서명 된 JAR에 대한 유효성 검사를 건너 뛸 수 있다고 보장 할 수는 없지만) 3) 신뢰할 수있는 응용 프로그램을 시작해야합니다. ** 확신 할 수있다 ** ** 코드가 유효화/승인 된 후에 만 ​​* 스플래시가 나타납니다 (나는 그렇다고 생각합니다). 나는 양보해야한다 - 더블 클릭 Jar의 SplashScreen은이 경우 더 많은 기능과 함정이있다. –