JavaFX 런타임 라이브러리에서 Oracle이 배포 한 "caspian.css"를 검사 해 보았습니다. 일부 색상 값을 변수로 선언 한 것을 볼 수 있습니다. 예 :JavaFX CSS 파일에서 변수 선언하기
다음-fx-base: #d0d0d0; // Caspian.css, Line 47
... 그들은 같은 다른 특성의 값으로 사용 : 측정 단위를 선언하려면 지금
-fx-color: -fx-base; // Caspian.css, Line 96
, 제가하고 싶은 것은 (-fx-radius-default: 10px
) 다음 컨트롤의 반경을 설정할 때마다 사용하십시오.
-fx-border-radius: -fx-radius-default;
-fx-background-radius: -fx-radius-default;
나는 지금까지 성공하지 못했습니다. 내 질문은 : 이것은 가능합니까?
편집 : 추가 실험 정보
세부 여기
내가 자바 FX 장면 빌더에 1.1을 만들어 내 Experiment.fxml 파일입니다
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.net.*?>
<?import java.util.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml">
<children>
<TextArea layoutX="200.0" layoutY="119.0" prefWidth="200.0" styleClass="track" wrapText="true" />
</children>
<stylesheets>
<URL value="@css/Experiment.css" />
</stylesheets>
</AnchorPane>
그리고 아래입니다 css/Experiment.css
내가 사용한 :
* {
-fx-radius-default: 10px;
}
.track {
-fx-border-radius: -fx-radius-default;
-fx-border-color: black;
}
불행하게도이 같은 오류 메시지를주고, 작동하지 않습니다
규칙에서 '-fx 국경 반경'에 대한 조회를 해결하면서 '-fx 반경 기본'을 확인할 수 없습니다 '* .track'스타일 시트 파일 : /home/abdullah/codebase/src/package/css/Experiment.css
나는 일반 구문 (-fx-border-radius: 10px
)를 사용하는 경우
내가 뭘 잘못하고 있니?
편집 : 결론
결론 : 불가능
"만을 언급"JavaFX CSS Reference Guide "때문에, 자바 FX의 현재 버전 불가능 내가 찾던 것 looked- "변수"의 일반적인 개념이 아닙니다. 그래도 좋은 기능이 될 것입니다 ... 그냥 말하면 ...
구현하기가 쉽지 않은지 모르지만 현재는 자신의 CSS 속성을 정의하는 JavaFX의 클래스가'javafx.css.CssMetaData' 클래스를 사용하는 것처럼 보입니다. –