일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- RSocket
- spring boot
- Linux
- xml
- mybatis
- gradle
- angularjs
- JavaFX
- Python
- Apache
- WebClient
- node.js
- pdo
- 개발자 이야기
- Java
- javadoc
- bootstrap
- SQL
- webflux
- php
- maven
- Ajax
- build tool
- Spring
- jquery
- 외국인 노동자
- 일본
- SQLite
- Eclipse
- swift
- Today
- 138
- Total
- 3,573,833
목록IT 개발/JavaFX (11)
슬기로운 개발자 생활
JavaFX는 다양한 애니메이션 기능이 포함되어 있다. Transition와 Timeline 같은 클래스를 사용하여 그래픽을 움직여 보자. TranslateTransition 사용JavaFX가 Swing 등에 비해 뛰어난 점 중 하나는 "애니메이션"이다. Swing에서 그래픽을 애니메이션하려고 하면 스레드와 타이머를 만들고 위치를 자주 이동하고 다시 그리고 등을 반복해야만 한다. 하지만 JavaFX라면 쉽게 애니메이션을 만들 수 있다.애니메이션 관계의 기능은 javafx.animation 패키지에 여러가지 준비되어 있다. 우선 가장 많이 사용되는 "표시 위치를 이동"하는 것부터 사용해 보자.이것은 "TranslateTransition"라는 클래스로 제공되고 있다. 이것은 애니메이션 관련 클래스의 가장 기..
JavaFX에는 그래픽 작업용 기능이 여러가지 제공되어 있다. 표시 위치나 방향 등을 변환하거나 모양을 투과하거나 흐림과 그림자 효과 등을 적용해 보고, 이러한 특수 효과에 대해 정리하고 설명한다. 트랜스포메이션(Transformation)모양의 도형은 기본 형상은 매우 간단하다. 예를 들어 사각형이라면, 가로, 세로, 수평, 수직 선뿐이다. "조금 기울어 진 사각형"같은 컨포넌트는 없다. 그렇다면 이러한 것은 어떻게 만들면 될까?그런 경우에는 "트랜스포메이션(transformation)"을 이용하면 된다. 이것은 모양의 표시를 이동, 회전, 확대, 축소하는 기능이다. 모양의 슈퍼 클래스에 해당하는 Node 클래스에는이를 위한 메소드가 다음과 같이 제공되고 있다.평행 이동"Node".setTranslat..
JavaFX에서는 GUI 부품처럼 화면에 배치 할 수 있는 벡터 그래픽 부분이 있다. 이를 이용한 그래픽의 생성을 설명한다.FXML 셰이프를 사용하기Canvas를 사용한 그래픽 그리기는 Swing, AWT 등과 감각적으로는 비슷하다. 바꿔 말하자면, 그래픽 컨텍스트를 얻어서 렌더링 메소드를 호출하는 화면에 그리는 방식이다. 그려지는 그래픽은 단순한 비트맵 그래픽이다. 그 자체가 그리게 되면 그것으로 끝이다.이러한 비트맵 그래픽과는 별도로, 벡터 그래픽 작업용 기능도 JavaFX에 포함되어 있다. 벡터 그래픽이라는 것은 위치나 크기 등의 그래픽 정보를 보유하고있는 도형이다. 그리고 난 후에 그것을 변경하고 위치 나 크기 등을 조작할 수 있다. 또한 데이터로 만들어 필요에 따라 그리고 고칠수 있기 때문에, ..
JavaFX의 그래픽 그리기, AWT와 Swing과는 전혀 다르다. 그 다른 시스템을 이해하면 렌더링 처리 자체는 쉽게 수행 할 수 있다. 여기에서는 그 기본이 되는 Canvas 컨트롤과 GraphicsContext 클래스의 사용법에 대해 설명한다. Canvas와 GraphicsContext그래픽 그리기는 AWT에도 Swing에서도 기본적인 아이디어는 동일했었다. 구성 요소에는 표시를 업데이트 할 때 호출되는 paint 메소드 (또는 paintComponent)가 제공되어 있으며, 이 메서드를 오버라이딩하면 자동으로 호출되어 그리기가 실행되었다.각각의 구성 요소에는 렌더링 처리를 관리하는 Graphics (또는 Graphics2D) 클래스의 인스턴스가 포함되어 그것이 paint 메소드에 인수로 전달된다...
JavaFX 컨트롤에는 값을 관리하는 속성에 전용 클래스가 제공되어 있으며, 거기에 이벤트 리스너를 설정하여 값이 변경시에 처리할 수 있다. 여기에서는 ToggleGroup, ComboBox, Slider에 대한 속성의 이벤트 처리 방식을 설명한다. ToggleGroup의 ChangeListener처리이전에 ListeView 대해 선택 상태가 변경 되었을 때의 이벤트 처리를 만들었다. 이것은 선택 상태를 관리하는 속성에 이벤트 리스너를 설정하였다.이러한 "속성이 변경되었을 때에 ChangeListener에서 이벤트 처리를 한다"는 방식은, JavaFX 컨트롤의 기본적인 이벤트 처리 방식이다. 이 기본 개념을 알면 다른 컨트롤러에서도 유사한 방식으로 이벤트 처리를 설정할 수 있다.우선 "라디오 버튼을 조작..
ListView를 이용하려면 데이터를 처리하는 방법을 이해해야 한다. 그 기본과 선택된 항목을 관리하는 "SelectionModel"에 대해 설명한다.ListView 만들기기본적인 GUI 컨트롤의 사용법은 이미 설명했지만, JavaFX는 더 복잡한 컨트롤도 포함되어 있다. 특히 중요한 것이 "데이터를 처리하는 컨트롤"이다. 미리 준비한 데이터를 바탕으로 필요한 정보를 표시하고 조작하는 것이다.그 대표라고도 말할 수 있는 것이 "리스트"이다. 여러 항목을 세로 스크롤 리스트로 표시 나열하는 GUI이다. JavaFX에는 이것을 "ListView"라는 컨트롤로 제공하고 있다.우선 FXML를 이용하여 ListView를 만들어 보자. ListView는 라는 태그를 사용하여 만든다. 이것 자체는 매우 간단하지만, ..
JavaFX는 다양한 방식으로 이벤트 처리를 구현할 수 있다. 여기에서는 그 기본으로 "태그에 의한 구현"과 "컨트롤러에 의한 구현 "에 대해 설명한다. 으로 이벤트 처리 생성FXML에는 XML 기반으로 GUI를 만들 수 있다. 하지만 실제로 만들 때에 "이것으로 이벤트 처리는 어떻게 만드는거야?"라고 생각한 사람도 있을지도 모른다. XML는 Java로 부터 분리된 형태로 GUI를 만드는 것이기 때문에, 그것도 Java에서 실행되는 코드에 연결하는 구조가 필요하다.여기에는 몇 가지 방법이 있다. 우선 가장 간단한 태그를 사용한 구현"부터 해보록 하자.FXML에는 사실 이벤트 처리 코드까지 작성할 수 있다. 이는 다음과 같은 형태가 된다. function 함수(인수) { // 처리를 기술 } 이와 같은 형..
JavaFX는 "FXML"라는 단순 언어를 사용하는 것으로, XML을 사용해 쉽게 GUI를 디자인 할 수 있다. 이 FXML의 기본적인 사용법에 대해 설명한다. FXML이란?JavaFX는 풍부한 GUI를 가진 응용 프로그램을 빠르게 개발할 수 있는 것을 중시하고 새롭게 만들어진 GUI 라이브러리이다. 하지만, 지금까지 본 바로는 "Swing과 별로 변함이 없다"라는 인상을 받았을 것이다. 액션 이벤트의 설정 등은 간단했지만 "이정도라면 일부러 Swing에서 마이그레이션 할 필요도 없다"고 느낀 사람도 많을 것이다.사실 JavaFX는 Java 클래스를 만들어 Java 소스 코드에서 GUI를 만드는 방식은 그다지 많이 하지는 않다. 그 이상으로 중요시되고 있는 것이 "FXML"라는 것을 이용한 GUI 디자인..