2009-10-19 4 views
11

Java를 사용하여 Windows에서 기본으로 보이는 앱을 만들 수 있습니까? Windows 사용자를 대상으로 계획하기 때문에 솔루션이 이식성이 있는지 여부는 신경 쓰지 않습니다. 그게 중요하다면 나는 스칼라를 사용하고있다.Windows에서 Java 응용 프로그램을 보이게하려면 어떻게해야합니까?

죄송합니다. 세부 정보가 부족하여 죄송합니다.하지만 이전에 Java를 사용 해본 적이 없으므로 가능한지 확실하지 않습니다.

+2

.NET에서 개발할 수 있습니까? 미안하지만 저항 할 수 없습니다. ;) – dkackman

+1

네이티브 컨트롤이 중요하다는 데 동의합니다.모든 성공적인 주류 앱은 기본 컨트롤을 사용했습니다. 두 가지 선택 사항이 있습니다. (1) 기본 모양을 가짜로 만드는 스윙과 같은 위젯 집합을 사용합니다. 이것은 결코 완벽하게 작동하지 않으며 때로는 완전히 끔찍합니다. (2) (주로) 기본 위젯 주위에 Java 랩퍼 인 SWT와 같은 위젯 세트를 사용하십시오. 이것은 완벽하게 작동합니다. 핵심 배포본에서 SWT와 같은 패키지가 없다는 것은 클라이언트에서 Java가 운명을 정한 것입니다. (예, Java는 서버 및 일부 엔터프라이즈 데스크톱에서 큰 성공을 거두었습니다.) – DigitalRoss

답변

23
try { 
    // Set the Look and Feel of the application to the operating 
    // system's look and feel. 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} 
catch (ClassNotFoundException e) { 
} 
catch (InstantiationException e) { 
} 
catch (IllegalAccessException e) { 
} 
catch (UnsupportedLookAndFeelException e) { 
} 

시스템 모양과 느낌을 설정해야합니다. GUI 코드를 사용하기 전에이 작업을 수행하십시오. 예를 들어, main 방법입니다.

룩앤필에 대해 더 자세히 알고 싶다면 Java Tutorial on them, as suggested by carwash을 확인하십시오.

+0

이 대답에 암시 적으로 * 컨트롤 *에 Swing 사용. 이것은 전통적인 자바의 지혜와 공식 Sun 패키지이며 아무도 그것을 조언 해 주어야한다고 비난받을 수는 없습니다. 그러나 네이티브 컨트롤을 얻지 못하면 위조 된 것들이 누구도 속일 수 없습니다. Eclipse가 무료로 SWT를 제안했을 때 Sun은 SWT를 받아 들여야했습니다. 마찬가지로 Sun은 데스크톱 클라이언트 응용 프로그램에 적합하지 않은 위젯 (Swing 및 AWT) 만 제공하므로 결과적으로 거의 없습니다. 스윙을 저지하는 것 이외에 다른 스윙을 사용하지 않는 것 같습니다. – DigitalRoss

+1

나는 스윙을 사용하며 "위조 된 (faked-up)"통제에 속는다. 이 코드를 사용하면 스윙이 Windows처럼 보이지 않고 작동하지 않는 이유를 설명하십시오. –

+0

사실, 맥을 아주 심하게 마신다. – AlBlue

0

예, Java는 Windows에서 사용할 수있는 Windows 고유의 모양과 느낌을 가지고 있습니다. 귀하의 룩앤필을 바꾸는 방법을 찾으십시오. 그러면 옳은 방향으로 나아갈 것입니다.

0

당신은 같은 것을 할 거라고 : (. 어떤 물론 윈도우에서만 작동)

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 

을 결과는보고 합리적으로 네이티브 느낀다. 예 : 자세한 정보 here.

+0

이것은 Windows에서만 작동합니다. 다른 시스템에 있다면'UnsupportedLookAndFeelException'이 던져 질 것입니다. –

+0

OP에는 "Windows 사용자 만 대상으로 계획합니다"라고 적혀 있습니다. 그리고 네, 요점에 집중하기 위해 try-catch를 생략했습니다. (컴파일러가 실제 코드에서 그것을 잊어 버린 사람을 생각 나게 할 수 있도록 체크 된 예외입니다.) – Jonik

4

는 여기를 참조하십시오 : Java™ Tutorials: How to Set the Look and Feel

try { 
    // Set System L&F 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} 
catch (UnsupportedLookAndFeelException e) { 
    // handle exception 
} 
2

당신은 윈도우 모양을 사용하고 느낄 수 있습니다.

당신은 명령 줄에서을 지정할 수 있습니다

9

모두를 사용해야합니다

java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp 

또는 여기

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 

코드는 세부 사항입니다 다른 사람이 스윙을 게시 했으므로 나는 pla에 갈 것이다. y 악마의 옹호자는 언급하고 SWT를 언급하십시오.

SWT는 Eclipse 기초에서 작성된 위젯 툴킷입니다. Windows, OSX 및 다양한 * nix (Linux, AIX, BSDs 등)에 대한 시스템 고유의 GUI에 대한 씬 래퍼입니다.

이것은 Sun의 JFC/Swing이 취한 것과 반대되는 경로로 자체 구성 요소를 사용합니다.

+0

Eclipse RCP 개발 외부에서 SWT를 사용하는 장점이 무엇인지 궁금합니다. 나는 대부분의 OS가 UIManager.getSystemLookAndFeelClassName()에 의해 보호된다고 믿는다. 그래서 왜이 목적을 위해 외부 라이브러리를 가져오고 싶습니까? –

+3

데스크톱 응용 프로그램 개발을 많이 해보지는 못했지만, 가장 큰 장점은 Swing처럼 자체 구성 요소를 그리기보다는 OS의 기본 렌더링 라이브러리를 사용한다는 것입니다. – Powerlord

+2

좋은 SWT 대 스윙 여기 좋은 : http://www.developer.com/java/other/article.php/10936_2179061_2/Swing-and-SWT-A-Tale-of-Two-Java-GUI-Libraries.htm – Smalltown2k

2

아무도 언급하지 않은 사람이 JGoodies입니다.

JGoodies 윈도우 모양 & 느낌 Windows에서 정확한 에뮬레이션에 초점을 맞추고 95/98/NT/ME/2000 다음과 같은 분야에서 : 메뉴, 아이콘, 색상, 테두리, 글꼴, 글꼴 크기, 세트 및 위젯 치수. 크기, 인세 트 및 위젯 크기를 조정하기 위해 화면 해상도 (96dpi 대 120dpi)를 준수합니다. (Source)

관련 문제