개인 재정 JavaFX와 Swing-Dummies의 10 가지 차이점

JavaFX와 Swing-Dummies의 10 가지 차이점

차례:

비디오: 계산기를 만들어보자 ⑫ 가로로 된 화면에서는? 2024

비디오: 계산기를 만들어보자 ⑫ 가로로 된 화면에서는? 2024
Anonim

Java 프로그래머로서의 경험이 있다면 Swing과 함께 사용자 인터페이스를 만들 수 있습니다. 오라클은 Swing을 완전히 포기한 것은 아니며, 더 이상 사용되지 않으며 Swing 애플리케이션도 계속 작동합니다. 그러나 Swing을 향상시키기위한 작업이 더 이상 수행되지 않고 있으며 오라클은 JavaFX가 미래라는 것을 분명히했습니다.

JavaFX와 Swing의 기본적인 차이점은 다음과 같습니다.

JavaFX에서 모든 세계는

프레임 라고하며 JFrame 클래스에 의해 정의됩니다. 프레임은 기본적으로 사용자 인터페이스 요소의 컨테이너 역할을하는 패널 을 추가 할 수있는 빈 창이됩니다. 패널은 JPanel 클래스에 의해 정의됩니다. Swing 어플리케이션은 실제로 JFrame 클래스를 확장하는 클래스입니다. 사용자 인터페이스 구성 요소를 표시하려면 JPanel에 구성 요소를 추가 한 다음이 패널을 프레임에 추가합니다.

JavaFX는 극장의 은유를 사용하여 응용 프로그램의 최상위 컨테이너를 모델링합니다. 스테이지 클래스에 의해 정의되는

스테이지 는 최상위 컨테이너 (일반적으로 윈도우)를 나타내지 만 일부 운영 체제에서는 스테이지가 전체 디스플레이 표면을 나타낼 수 있습니다. 사용자 인터페이스를 구성하는 개별 컨트롤 및 기타 구성 요소는 Scene 클래스에 정의 된 장면 에 포함되어 있습니다. 응용 프로그램은 둘 이상의 장면을 가질 수 있지만 주어진 시간에 장면 중 하나만 스테이지에 표시 할 수 있습니다. ->

장면에는 JavaFX에서 가장 중요한 개념 인 장면 그래프

가 들어 있습니다. 장면 그래프는 사용자 인터페이스 (그룹, 레이아웃, 컨트롤 및 모양)를 구성하는 모든 요소의 모음입니다. 이러한 객체는 nodes 라고하며 모두 Node 클래스에서 파생됩니다. Node 클래스에는 사용자 인터페이스에 추가 할 수있는 모든 객체에 대해 자동으로 사용할 수있는 많은 유용한 기능이 있습니다. 예를 들어 Node 클래스는 장면 그래프의 노드를 회전 할 수있는 setRotate 메서드를 정의합니다. JavaFX에서 레이아웃 관리자는 노드입니다. Swing에서 레이아웃은 JPanel과 연결됩니다. 최상위 JPanel은 프레임의 기본 레이아웃을 제공합니다. 최상위 레이아웃에서 추가 레이아웃을 중첩하려면 추가 JPanel을 만들고 관련 레이아웃을 설정 한 다음 상위 레벨 레이아웃에 추가해야합니다.

JavaFX에서 레이아웃은 컨트롤 및 모양과 마찬가지로 Node 클래스의 하위 클래스입니다. 레이아웃은 노드 모음을 포함하며 레이아웃에 포함 된 노드는 컨트롤, 모양 또는 다른 레이아웃과 같은 모든 종류의 노드가 될 수 있습니다.이 방법은 Swing이 패널과 레이아웃을 연결하는 것보다 훨씬 덜 복잡합니다.

JavaFX는 이벤트 처리를 향상 시켰습니다.

JavaFX와 Swing 모두 사용자 입력 이벤트에 응답하기 위해 이벤트 처리를 사용합니다. 그러나 JavaFX의 이벤트는 Swing의 해당 이벤트보다 더 잘 생각되고 일관성이 있습니다. 그러나 JavaFX에서 가장 중요한 이벤트 처리가 개선 된 이유는 속성에 의존하기 때문입니다.

JavaFX는 속성을 지원합니다.

JavaFX는

속성

의 개념을 지원하며 클래스 전반에서 속성을 광범위하게 사용합니다. 간단히 말해서, 속성은 그 값을 관찰 할 수있는 변수입니다. 속성을 사용하여 리스너를 등록 할 수 있으므로 속성이 변경 될 때마다 자동으로 트리거되는 코드를 작성할 수 있습니다. 또한 속성을 ​​서로 바인딩 할 수 있습니다. 즉, 하나의 속성 값이 변경되면 다른 속성 값도 자동으로 변경됩니다. 거의 모든 사용자 인터페이스 요소의 특성이 속성을 통해 관리되기 때문에 JavaFX는 스윙에서 전혀 들리지 않는 이벤트 처리 기능을 제공합니다. 예를 들어, JavaFX에서 모양 리스너를 도형의 색상에 연결할 수 있습니다. 모양이 색이 바뀌면 이벤트 리스너 코드가 실행됩니다. 기능을 사용할 수는 없지만 필요한 경우 사용할 수 있습니다. JavaFX는 CSS로 스킨 가능 JavaFX의 가장 좋은 기능 중 하나는 CSS (Cascading Style Sheets)로 서식을 제어 할 수 있다는 것입니다. 사용자 인터페이스의 외관에 관한 거의 모든 측면을 스타일 규칙에 의해 설정할 수 있으며 사용자가 몇 가지 사용 가능한 스타일 시트 중에서 장면에 적용 할 스타일 시트를 쉽게 선택할 수 있습니다. 따라서 단일 메서드 호출로 응용 프로그램의 전체 모양을 변경할 수 있습니다.

JavaFX에는 일관된 컨트롤이 있습니다.

일반적으로 JavaFX 컨트롤 계층은 Swing보다 더 완벽합니다. 두 가지 모두 버튼, 체크 상자, 콤보 상자 등 모든 기본 컨트롤을 가지고 있습니다. 그러나 JavaFX에는 접을 수있는 TitledPane 컨트롤과 스택에 여러 TitledPane 컨트롤을 정렬하는 Accordion 컨트롤과 같이 Swing에는없는 흥미로운 컨트롤이 몇 가지 있습니다. 그리고 이러한 모든 컨트롤이 CSS로 스킨 가능하다는 사실은 스윙에 비해 큰 이점을 제공합니다.

JavaFX에는 특수 효과가 있습니다.

javafx. 장면. 효과 패키지에는 장면 그래프의 모든 노드에 특수 효과를 쉽게 적용 할 수있는 많은 클래스가 포함되어 있습니다. 이 클래스를 사용하면 사용자 인터페이스의 모양을 변형시킬 수있는 그림자, 반사, 흐림 및 기타 흥미로운 시각 효과를 쉽게 적용 할 수 있습니다.

JavaFX에서의 애니메이션이 더 쉽습니다.

애니메이션은 스윙에서 가능하지만 스윙에서는 직접 지원하지 않습니다. Swing 구성 요소에 애니메이션을 적용하려면 고유 한 타이머를 설정하고 애니메이션을 수행하기위한 자체 논리를 작성해야합니다.

반대로, JavaFX에는 씬 그래프의 모든 노드에 적용 할 수있는 정교한 애니메이션을 기본적으로 지원합니다. 여러 가지 내장 된 전환 클래스 중 하나를 사용하여 페이드, 회전 또는 모션 경로와 같은 공통 애니메이션을 수행 할 수 있습니다.또는 KeyFrame 및 Timeline 클래스를 사용하여 쉽게 사용자 정의 애니메이션을 설정할 수 있습니다.

JavaFX는 최신 터치 장치를 지원합니다.

스윙은 최신 터치 장치를 지원하지 않습니다. 반대로, JavaFX에는 스크롤링, 스 와이프, 회전 및 확대 / 축소와 같은 일반적인 터치 제스처가 내장되어 있습니다. JavaFX에서 이러한 이벤트를 처리하는 것은 다른 유형의 이벤트를 처리하는 것처럼 쉽습니다. 터치 이벤트에 이벤트 리스너를 설치 한 다음 적절하게 응답하는 코드를 작성하기 만하면됩니다.

JavaFX에는 JOptionPane과 동일한 기능이 없습니다.

이 10 가지 차이점 목록을 JavaFX에 분명히 찬성하는 점으로 완전히 채우는 것은 적절하지 않습니다. 여기에 JavaFX에 대한 약간의 불편 함이 있습니다. Swing의 JOptionpane 클래스와 동일한 기본 제공 기능이 없으므로 짧은 경고 메시지를 표시하거나 사용자로부터 간단한 입력을받는 데 매우 편리합니다. JavaFX에서는이 유용한 클래스와 동등한 기술을 직접 만들어야합니다.

JavaFX와 Swing-Dummies의 10 가지 차이점

편집자의 선택

플립 비디오 인형 치트 시트 - 인형

플립 비디오 인형 치트 시트 - 인형

플립 비디오 캠코더는 가장 사용하기 쉬운 캠코더입니다. 세계. 플립 비디오를 사용하면 비디오를 가리키고 촬영 한 다음 컴퓨터로 비디오를 복사 할 수 있습니다. 몇 번의 클릭 후, 당신은 Facebook, MySpace 및 YouTube에서 귀하의 작품을 과시하고 있습니다. Flip의 버튼을 해독함으로써 비디오를 고통없이 촬영하는 방법을 찾으십시오. 알아보기 ...

귀하의 디지털 필름에 대한 개인 상영 - 인형

귀하의 디지털 필름에 대한 개인 상영 - 인형

오늘, DSLR 필름 심사. HD가 장착 된 정교한 대형 스크린 TV는 여러 스피커의 서라운드 사운드 스테레오와 함께 아주 좋은 간식을 제공합니다. 따라서 영화 밤을 장소에서 쉽게 주최 할 수 있으며 영화관에 갈 수도 있습니다. ...

디지털 영화에 정적 제목을 추가하는 방법 - 인형

디지털 영화에 정적 제목을 추가하는 방법 - 인형

초연 요소는 다양한 선택을 제공합니다 DSLR 영화의 타이틀 선택 항목, 하위 3 분의 1 로케이터 정보. 로케이터 정보는 뉴스 세그먼트 및 다큐멘터리에서 장면의 사람이나 장소를 설명하는 데 사용되는 ID와 같습니다. 사람의 경우 이름과 설명이라는 두 줄로 구성됩니다. 예를 들어, Charles Dickens / Writer, ...

편집자의 선택

관계 속의 분노를 다루는 - 인형

관계 속의 분노를 다루는 - 인형

우리 모두는 때때로 파트너들과 화를 낸다. 분노가 당신과 당신의 관계에 미치는 파괴적인 영향을 최소화하는 데 도움이되는 다음 요령을 시도하십시오. 당신이 분노의 징후를 처음 알기 시작할 때, 당신의 파트너에게 무슨 일이 일어나는지 물어보십시오. 화가 난 사람을 상처 입히려 고합니다.

자폐증 진단의 영향 - 인형

자폐증 진단의 영향 - 인형

자폐아를 찾는 것이 매우 어렵습니다. 앞으로의 길은 쉬울 것이라고 아무도 말할 수 없습니다. 자녀의 생년월일과 본인의 생년월일에 관한 스크립트를 다시 작성해야 할 수도 있습니다. 당신은 지금 다루어야 할 새로운 쟁점, 압박 및 결정들을 가지고 있습니다. 그리고 주변 사람들은 ...

당신이 종속인지 결정하기 - 인형

당신이 종속인지 결정하기 - 인형

다음 증상 목록에서 확인하십시오. 당신은 모두가 공손 할 필요는 없으며, 코펜던트의 심각성 정도가 있습니다. 치료를하지 않으면 시간이 지남에 따라 코드 종속성이 악화되지만 도움을 받아 복구 할 수 있고 작업에서 훨씬 더 효과적 일 수 있습니다 ...

편집자의 선택

짧은 명상 묵상 시도 - 인형

짧은 명상 묵상 시도 - 인형

당신의 마음을 집중할 수있는 능력은 마음 챙김 명상을 통해 가장 강력하게 개발됩니다. Mindfulness 명상 중 하나는 호흡의 mindfulness입니다. 이것은 숨을 의식적으로 인식하는 것입니다. 명상을 스스로 시도하려면 다음 단계를 따르십시오. 자신의 호흡 감을 알아야합니다. 변경할 필요가 없습니다 ...

마음가짐의 세 측면 - 인형

마음가짐의 세 측면 - 인형

마음가짐은 세 가지 측면으로 주의 깊은 인식. 이 목록을 인쇄하여 핀이 무엇인지 생각 나게하십시오. 의도 - 당신의 의도는 당신이 마음가짐을 연습함으로써 얻고 자하는 것입니다. 스트레스를 줄이고 감정적 인 균형을 유지하거나 발견 할 수 있습니다.

다른 명상을 시도하십시오 - 인형

다른 명상을 시도하십시오 - 인형

명상 확장이라는 인식은 명상 확장의 중심에 있습니다. Mindfulness 명상 연습. 앉는 자리는 수천 년 동안 명상을 위해 그리고 정당한 이유로 사용되었습니다. 어떻게 평소에 앉아 있니? 당신이 대부분의 사람들과 비슷하다면, 아마 의자 나 소파 뒤에 기대어집니다. 네가 괜찮다면 ...