개인 재정 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 가지 차이점

편집자의 선택

Photoshop Elements 11 - Stone

Photoshop Elements 11 - Stone

을 사용하여 Stone Out을 조각하는 방법 Photoshop Elements 11의 도구를 입력하여 텍스트와 같은 모양의 선택 영역을 만든 다음 이미지 자체를 해당 유형의 채우기로 사용합니다. 예를 들어 꽃 테마 웹 페이지를 만드는 경우 꽃 그림을 텍스트 채우기로 사용할 수 있습니다. 유형 선택을 사용하면 모든 부분을 잘라낼 수 있습니다.

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

Photoshop Elements 9에서 여러 파일을 일괄 처리하는 방법 - 여러 개의 인형이있는 경우

여러 파일에 공통적으로 적용 할 편집 기능을 사용하면 Photoshop Elements에서 이러한 변경 사항을 일괄 적으로 처리 할 수 ​​있습니다. 단일 메뉴 명령을 사용하여 파일 형식을 변경하고 파일 속성을 변경하고 공통 파일 기본 이름을 추가 할 수 있습니다. 파일 이름 바꾸기는 내보내기 명령의 일부일 수도 있고 사용할 수도 있습니다.

편집자의 선택

승마 2012 런던 하계 올림픽 - 인형

승마 2012 런던 하계 올림픽 - 인형

승마 (말의 화려한 이름) 경쟁 런던 2012 하계 올림픽은 조련사, 이벤트 및 점프의 세 가지 분야로 구성됩니다. 각 분야는 팀과 개인 메달을위한 기회를 제공합니다. 대회는 7 월 28 일부터 31 일까지 개최됩니다. 조련사 경연 대회는 8 월 2 일부터 9 일까지 개최됩니다. 점프 대회는 ...

동계 올림픽에서의 자유형 스키 - 인형

동계 올림픽에서의 자유형 스키 - 인형

프리 스타일 스키는 동계 올림픽의 X 게임 이벤트 중 하나입니다. . 자유형 스키에서는 경쟁자가 언덕 꼭대기에서 바닥까지 다양한 행사를 수행합니다. 프리 스타일 스키는 기술 스키의 가장 중요한 부분을 차지하며 스노우 보드에서 트릭을 만들어내는 기술과 결합되어 있습니다.

필드 2012 런던 하계 올림픽의 이벤트 - 인형

필드 2012 런던 하계 올림픽의 이벤트 - 인형

스프린트, 릴레이 및 도로 경주 이외에도 2012 런던 하계 올림픽 육상 경기에는 점프 및 던지기 경기가 포함됩니다. 남자와 여자는 높은 점프, 긴 점프, 트리플 점프, 장대 높이뛰기 등의 4 가지 점프 이벤트와 총구, 원반, 창 던지기 및 망치와 같은 네 가지 투구 이벤트에서 경쟁합니다. 필드 이벤트 ...

편집자의 선택

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

Excel의 유용한 범위 객체 메소드 2016 VBA 프로그래밍 - VBA 메소드가 수행하는

엑셀 2016의 액션. Range 객체는 수십 개의 메소드를 가지고 있지만, 이들 중 대부분은 필요하지 않습니다. 여기서는 가장 일반적으로 사용되는 Range 객체 메소드를 찾습니다. Select 메서드 Select 메서드를 사용하여 셀 범위를 선택합니다. 다음 문은 ...

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자를 사용하여 대출 계산 모델링 방법 - 더미

시나리오 관리자는 목표 탐색 데이터 탭의 가정 분석 섹션에 데이터 테이블이 있습니다. 다른 유용한 도구와 함께 그룹화하면 시나리오 관리자가 중요한 도구임을 믿게 될 것입니다. 그러나 유용한 이름과 좋은 회사가 있음에도 불구하고 ...

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

더 나은보고 모델을 위해 Power Query와 Power Pivot을 함께 사용 - Power Pivot을 사용하여 더미

Power Query를 함께 사용하면 관리 및 유지 보수가 쉬운보고 모델을 만들 수 있습니다. 보고 모델은보고 메커니즘이 구축되는 기초를 제공합니다. 데이터를 가져오고, 변환하고, 모양을 만들고, 집계하는보고 프로세스를 작성하면 본질적으로보고 모델을 구축하게됩니다. 잘못 작성하는 중 ...