티스토리 뷰
JavaFX에 CSS 파일 적용하는 방법
이번 시간에는 JavaFX에서 FXML 파일을 꾸밀수 있는 CSS 파일을 만들고 적용하는 방법에 대해서 알아보겠습니다.
방법은 이전에 보았던 볼품없는(?) UI 를 가지고 간단하게 진행 해보겠습니다.
목표하는 바는 아래 와 같습니다.
텍스트 필드와 버튼이 클릭 되고 Focus가 됬을 때 원래는 파란색으로 테두리색이 바뀌지만 위 처럼 초록색으로 바꾸는 간단한 프로그램을
작성해 보겠습니다.
일단 CSS 파일을 하나 만들어 봅시다.
이렇게 만들어줍니다.
FXML 파일은 이전과 같습니다. 그래도 한번 더 보시죠.
sample.fxml
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 | <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.control.Label?> <?import javafx.scene.control.TextField?> <?import javafx.scene.control.ToolBar?> <?import javafx.scene.image.Image?> <?import javafx.scene.image.ImageView?> <?import javafx.scene.layout.BorderPane?> <BorderPane stylesheets="@style.css" prefHeight="200" prefWidth="300" xmlns="http://javafx.com/javafx/8.0.101" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Controller"> <top> <ToolBar> <items> <TextField fx:id="txtField" prefWidth="240" style="-fx-cursor: red;" /> <Button fx:id="btn" onAction="#handleButtonActoin" prefWidth="40" /> </items> </ToolBar> </top> <center> <ImageView fx:id="imageView"> <image> <Image url="@imgres.png" /> </image> </ImageView> </center> <bottom> <Label fx:id="resultLabel" alignment="CENTER" prefWidth="300" /> </bottom> </BorderPane> | cs |
여기서 중요하게 봐야 할 것은 BorderPane에서 stylesheets = "@style.css" 라는 속성이 있는데 여기서 바로 css 파일의 경로를 지정합니다.
우리는 CSS 파일을 src 디렉터리에 만들었기 때문에 파일명만 적어줘도 상관이 없습니다.
그리고 봐야 할 것은 TextField 와 Button 에 id 값을 보시면 됩니다.
이제 CSS 의 코드를 보시죠.
style.css
1 2 3 4 5 6 | #txtField:focused{ -fx-focus-color : green; } #btn:focused{ -fx-focus-color : green; } | cs |
d
아주 간단합니다. 텍스트 필드와 버튼의 텍스트 값을 가지고 속성을 주고 있습니다. pseudo 클래스를 이용해서 주고 있습니다.
그럼 결과는 아래와 같습니다. CSS 에 선택자는 CSS와 동일한 원리로 element, class, id 로 줄 수 있습니다.
CSS 관련된 여러가지 속성은 이 곳 에 가시면 많은 도움이 될 것입니다. 수고하셨습니다.
반응형
'프로그래밍 > JavaFX' 카테고리의 다른 글
[JavaFX] Container 내의 요소에 Margin 속성 주는 방법 (0) | 2016.12.27 |
---|---|
[JavaFX] ComboBox 값 초기화 방법 및 사용법 (1) | 2016.12.26 |
[JavaFX] pop up 창 띄우기 (Popup class 이용) (3) | 2016.12.22 |
[JavaFX] JavaFX 폰트 적용하는 법 (2) | 2016.12.15 |
[JavaFX] JavaFX를 이용해 간단한 UI 만들어보기 (2) | 2016.12.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 일본 배낭여행
- JavaFX Table View
- effective java
- JavaFX
- 일본여행
- 일본 여행
- Java UI
- 이펙티브 자바
- springboot
- 인텔리제이
- TableView
- 텐트
- JavaFX 종료
- JavaFX 테이블뷰
- 자바
- 배낭여행
- windows
- 배낭 여행
- git
- 일본 자전거 여행
- 자전거 여행
- 방통대 과제물
- java
- 스프링부트
- effectivejava
- JavaFX Window Close
- 이펙티브자바
- intelij
- 자전거
- 이펙티브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함