snapshot 메소드를 이용해 Node 이미지 파일로 캡쳐하기 이번시간에는 JavaFX에서 특정 영역을 캡쳐 하고 싶거나 어떤 Node를 이미지 파일로 저장하고 싶을 때가 있습니다. 이럴때 간단하게 해결할 수 있는 방법을 소개할까 합니다. 바로 snapshot 메소드를 이용하는 방법입니다. snapshot 메소드는 Node 클래스에서 제공을 하는 메소드 입니다. Node는 모든 컨트롤의 먼 조상이죠. 그래서 snapshot은 Node 별로 따로 캡쳐가 가능합니다. 사용법을 보시죠. 1234567891011121314151617181920 private Pane chartContainer; private void doSave(){ FileChooser fileChooser = new FileChooser..
JavaFX Line Chart 데이터 삽입 이번 시간에는 지난 시간에 이어서 LineChart에 실제 데이터를 넣는 방법을 알아보겠습니다. 차트 만드는 방법은 이전 포스트를 참고해주시면 됩니다. 그럼 일단 차트에 넣을 데이터를 만들어보죠. LineChart의 상위 클래스인 XYChart 를 살펴보게 되면 data를 넣는 방법은 1. getData() 후에 add(), addAll() 과 같은 메소드를 활용하는 방법. 2. setData() 를 통해 데이터를 세팅 해주는 방법. 위와 같은 형태로 이루어 집니다. 그런데 이때 넣어줘야 하는 데이터 형식도 다릅니다. 아래와 같이 말입니다. 1, XYChart.Series list; 2. ObservableList list; 차이를 아시겠나요 ? getData..
JavaFX Line Chart 구현하기 이번 시간에는 아주 간단한 (?) JavaFX의 기본으로 제공하는 Line Chart를 구현 해보겠습니다. JavaFX에서 제공하는 Chart는 디자인이 꽤 괜찮습니다. 그래서 목적에 맞게 바꿔 써도 될 정도로 유용합니다. 일단 띄워보기만 하겠습니다. ■ FXML 먼저 FXML 코드 부터 작성을 하죠. 12345678910111213141516 Colored by Color Scriptercs 원리는 간단합니다. LineChart 를 넣어주고 그 안에 x축과 y축의 정보를 넣어줍니다. 축은 axis라고 부르는데 axis의 종류는 숫자 데이터로 이루어진 NumverAxis, 숫자 이외의 문자열이나 다른 데이터가 들어갈수 있는 Cateroty Axis가 있습니다.. ..
FXML Loader를 이용해서 UI 구현하기 이번 시간에는 여태껏 해왔던 커스텀 컨트롤의 UI 구현 방법 중에 다른 형태를 보여드리고자 합니다. 바로 FXML Loader를 이용해서 UI를 구현 하는 방법입니다. 여태껏 커스텀 컨트롤을 구현 할때는 클래스 상에서 Java 코드로 UI를 구현했습니다. 아래와 같이 말이죠. 1234567891011public class MyControl extends BorderPane{ private final int FIXED_WIDTH = 450; private final int FIXED_HEIGHT = 300; public MyControl(){ Button button = new Button(); getChildren().add(button); ...... }}..
Resources 폴더의 CSS 파일 적용하기 이번 시간에는 Resources 폴더 상에 위치한 CSS 파일을 불러와서 적용하는 방법에 대해서 알아보도록 하겠습니다. 저의 경우는 위와 같은 Project Structure를 가지고 있습니다. 이 상태에서 java 디렉토리 안에 위치한 클래스에서 resources 디렉토리 안에 위치한 css 파일을 가져오고 싶으면 아래와 같은 코드를 작성하면 됩니다. 1this.getStylesheets().add(getClass().getResource("CSS 파일명.css").toExternalForm());cs 그렇게 된다면 CSS 파일의 경로를 명시해주지 않고 파일명만 적어주어도 파일을 가져올수 있습니다.
특정 Style이 전체 적용 될 때 JavaFX CSS를 사용하는데 CSS 파일을 합치면서 갑자기 transparent background 효과가 화면 전체 control에 적용되는 문제가 발생했습니다. 원인조차 모르고 있었죠. 더군다나 style sheet를 합친지라 파일 안에 몇 천줄이 넘는 코드가 있어서 찾아내는 것도 쉽지 않았습니다. 그렇게 살펴보다 보니 아래와 같은 코드를 발견했습니다. 깜빡하고 , 뒤에 선택자를 적어 넣는 것을 빼먹었던 것이죠. 1234table-view,{ -fx-background-color:trnasparent; ....} Colored by Color Scriptercs , 뒤에 아무것도 없다는 것은 모든 선택자를 의미하기 때문에 문제가 발생하는 것이었습니다.
마우스 커서 모양 변경하기 이번시간에는 Button이나 어떤 컨트롤에 마우스 커서를 갖다댔을 때 마우스의 모양을 변경하는 방법에 대해서 알아보도록 하겠습니다. 일단 마우스 커서의 모양자체를 변경하는 코드는 아래와 같습니다. 12Button button = new Button();button.setCursor(Cursor.HAND);cs 간단하죠? 이제 이 작업을 이벤트가 발생했을 때 수행하는 코드는 아래와 같습니다. 123456button.addEventHandler(MouseEvent.MOUSE_ENTERED, new EventHandler() { @Override public void handle(MouseEvent event) { button.setCursor(Cursor.HAND); } });Co..
TabPane을 이용해 TextViewer 만들기 이번 시간에는 JavaFX의 TabPane을 활용해서 TextViewer를 한번 만들어보겠습니다. 바로 아래와 같이 생긴 TextViewer를 만들어 보겠습니다. 이건 제가 만든 것을 보여 드리는 형식이기 때문에 한번 보시고 필요한 부분이 있으면 사용하셔도 됩니다. 물론 별로 도움이 안 될수도 있으니 그냥 가볍게 봐주시길 바랍니다 ^^ TabPane 일단 위 디자인을 구현하기 위해서는 TabPane이 중심이라고도 할 수 있습니다. 그래서 먼저 할 작업은 저대로 TabPane의 디자인을 입히는 일이죠. CSS 파일은 미리 다 만들어 놨습니다. 여깄습니다. TabPane은 Tab 객체를 TabPane에 add 하는 방식으로 이루어져 있습니다. 그리고 만약 t..
- Total
- Today
- Yesterday
- JavaFX Window Close
- 일본 자전거 여행
- 이펙티브
- 배낭여행
- 스프링부트
- 자전거
- JavaFX 종료
- 방통대 과제물
- JavaFX
- TableView
- 일본여행
- JavaFX Table View
- java
- 자전거 여행
- 이펙티브 자바
- springboot
- windows
- git
- 텐트
- JavaFX 테이블뷰
- 배낭 여행
- 인텔리제이
- 자바
- 일본 배낭여행
- effectivejava
- effective java
- 일본 여행
- 이펙티브자바
- intelij
- Java UI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |