shadow 효과
: 그림자 효과
- dropshadow() : 바깥 그림자를 주어 튀어 나오는 느낌
- innershadow() : 안쪽 그림자를 주어 움푹 들어간 느낌
- blur-type : gaussian, one-pass-box, three-pass-box, two-pass-box
- radius : blur kernel의 반지름, 0.0~127.0 사이의 값, 기본값 10
- spread, choke : 그림자의 spread와 choke, 0.0~1.0 사이의 값, 기본값은 0.0
- offsetX, offsetY : 그림자의 편차
2개의 Botton 컨트롤 배치
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<HBox prefWidth="300" prefHeight="150" xmlns:fx="http://javafx.com/fxml" spacing="50" fillHeight="false" alignment="CENTER">
<padding>
<Insets topRightBottomLeft="10"/>
</padding>
<children>
<Button id="btn1" prefWidth="100" prefHeight="50" text="DropShadow"/>
<Button id="btn2" prefWidth="100" prefHeight="50" text="InnerShadow"/>
</children>
</HBox>
CSS 파일
#btn1 {
-fx-effect: dropshadow(three-pass-box, rgba(0, 0, 0, 0.7), 10, 0, 5, 5);
}
#btn2 {
-fx-effect: innershadow(three-pass-box, rgba(0, 0, 0, 0.7), 10, 0, 5, 5.1);
}
실행 클래스
package sec10.exam07_shadow;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class AppMain extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("root.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("app.css").toString());
primaryStage.setTitle("AppMain");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
'Java > 17. JavaFX' 카테고리의 다른 글
Day 30 : JavaFX 스레드 동시성 (0) | 2021.11.29 |
---|---|
Day 29 : JavaFX CSS 스타일 - 화면 스킨 입히기 (0) | 2021.11.26 |
Day 29 : JavaFX CSS 스타일 - font 속성 (0) | 2021.11.26 |
Day 29 : JavaFX CSS 스타일 - background 속성 (0) | 2021.11.26 |
Day 29 : JavaFX CSS 스타일 - border 속성 (0) | 2021.11.26 |