2010-05-28 4 views
22

내 현재 프로젝트에서 우리는 자바에서 좋은 데스크탑 기반 응용 프로그램을 개발해야합니다.우리는 스윙에서 매우 훌륭한 UI를 개발할 수 있습니까? 대안이 아니면

현재 우리는 스윙으로 작성된 매우 기본적인 데스크톱 응용 프로그램을 가지고 있으며 팀은 좋은 스윙 지식이 없습니다. 스윙에서 아주 멋진 UI를 만들 수 있습니까?

데스크톱 응용 프로그램을 만드는 데 JavaFX를 사용해야합니까?

다른 대안은 무엇입니까?

+0

가능한 중복 항목 : http://stackoverflow.com/questions/2592207/how-to-improve-look-and-feel-of-java-swing-gui 및 http://stackoverflow.com/questions/559559/ good-looking-java-swing-lookfeel – Gnoupi

+0

JavaFX는 꽤 많이 죽었습니다. – helpermethod

+1

@OliverWeiler 전혀! JavaFX 스크립트가 죽었습니다. JavaFX 2.1은 그 어느 때보 다 활발합니다! – eversor

답변

25

스윙은 룩앤필 (look-and-feel)과 관련하여 매우 융통성이 있으며 스윙을 통해 아주 잘 보이는 애플리케이션을 만들 수 있습니다.

좋은 스윙 GUI 응용 프로그램을 만드는 방법을 배우고 싶다면 Chet Haase와 Romain Guy가 추천 한 책 Filthy Rich Clients을 권합니다.

+2

+1 불결한 리치 클라이언트를 언급합니다. Swing의 복잡함을 이해하기위한 더 좋은 책은 없습니다. –

+0

스윙은 그 책에서 샘플을보기 전까지 그걸 잘 볼 수 있다는 것을 알지 못했습니다. 사실 저자는 현재 안드로이드의 최전선에서 작동합니다. – OscarRyz

7

당신이 원하는대로 보일 수도 있습니다. 특히 당신이 당신의 자신의보기 및 느낌을 쓰는 경우에. 나는 반투명 패널과 단순한 버튼으로 직접 해냈습니다.

은 스크린 샷을 살펴 유무 :

http://www.taranfx.com/best-java-swing-look-and-feel-themes-professional-casual-top-10

Nimbus는 새로운 모습을하고 인기를 얻고있는 느낌, 그것은 IMO 매우 전문 같습니다

enter image description here

+3

스크롤 바는 무엇입니까?! –

5

스윙에서 멋지게 보이는 UI를 만들 수 있습니다 - NetBeansIntelliJ IDEA과 같은 응용 프로그램은 다른 많은 것들 중에서 이것을 증명했습니다.

스윙의 유일한 대안은 SWT (일식 도구 키트)이지만 스윙으로 이식 할 수없고 유연하지는 않습니다. 그러나 더 빠른 성능과 일부 구성 요소가 실제로 원하는 것일 수도 있습니다.

대부분의 기존 GUI 툴킷에 대한 Java 바인딩이 있습니다 (예 : Java for Gnome). 누군가가 흥미로울 수 있습니다.

그러나 나는 Swing의 극한의 이식성, MVC 채택, 플러그 형 룩앤필, 추가 구성 요소 (SwingX, JIDE, ...) 및 사용 용이성을 갖춘 많은 타사 라이브러리의 가용성을 선호합니다.

스윙에서 최적의 결과를 얻으려면 좋은 레이아웃 관리자를 선택하는 것이 중요합니다. 전능하신 MiG layout을 살펴 보시기 바랍니다.

8

체크 아웃 http://www.pushing-pixels.org/. Kirill은 Substance의 저자로서 Swing을위한 새로운 모양과 느낌의 톤을 제공합니다. Here는 스윙에서 가능한 것의 약간을 보여주는 블로그 항목입니다. Java One에서 2007 년 프리젠 테이션에 대한 링크가 있었지만 불행히도 링크가 더 이상 작동하지 않습니다.

0

귀하의 문제가 무엇인지 분명하지 않습니다. 간단하면서도 종종 충분 해 보이는 솔루션은 룩앤필 (look and feel)을 응용 프로그램의 시스템 기본 느낌으로 변경하는 것입니다 (스윙은 네이티브 응용 프로그램처럼 보입니다).

try { 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch (Exception e) { 
// exit application, log or ignore exception 
} 
2

돈 ': 당신이 (당신이 어디에 모르는 경우 메인 방법에서 첫 번째로 배치) 당신의 UI 중 하나가 생성/표시되는 곳 앞에 다음 코드를 삽입하기 만하면됩니다 바지 폴로 JavaFX 1을 터치하십시오.

JavaFX 2는 매우 유망 해 보입니다. 오라클은 Java 8과 긴밀하게 통합 할 것이라고 말하고 있습니다. 매우 좋은 API가 뒤에 있으며, 그래픽으로 가속됩니다. CSS3 기본적으로보기에는 너무 좋아 보인다.

리눅스에서만 아직 사용할 수 없다는 점이주의해야합니다. 그러나 앞으로 2 년 내에 출시 될 응용 프로그램을 개발하려는 경우 또는 대기를 너무 걱정하지 않아도됩니다. 크로스 플랫폼 지원을 위해서는 고려해야 할 좋은 옵션입니다.

+0

당신은 무엇에 대해 말하고 있었습니까, 조금만 구체적으로 해주실 수 있습니까? 아니면 non_answer와 같은 공동체에 의한 삭제 +1 +1 – mKorbel

+0

@mKorbel 확실하게 제가 당신을 따르고 있는지 확실하지 않습니까? 나는 JavaFX 2.0이 멋진 응용 프로그램을 만들 수 있다고 말하고 있으며 오라클이 현재 심각하게 받아들이고있는 것처럼 보일 수도 있습니다. – berry120

+0

좋은 꿈 (들)이지만,이 프로젝트는 Java7, 동결 없음처럼 보입니다 – mKorbel

관련 문제