가이드와 기본 튜토리얼을 따라가다 보니 매우 실망스럽습니다. CSS 스타일을 다른 요소에 적용할 수 있지만 vbox나 hbox에는 적용할 수 없습니다.
FMXL과 CSS를 사용하여 간단한 장면을 만드는 다음과 같은 간단한 애플리케이션이 있습니다.
import java.net.URL; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.stage.Stage; import javafx.scene.Parent; javafx.scene.Scene 가져오기; 공개 클래스 BingRen은 애플리케이션을 확장합니다. @우세하다 공개 무효 시작(스테이지 PrimaryStage) { 상위 루트 = null; FXMLLoader 로더 = 새로운 FXMLLoader(); URL xmlUrl = getClass().getResource("/BingRen.fxml"); loader.setLocation(xmlUrl); 노력하다 { 루트 = loader.load(); 장면 장면 = 새 장면(루트,400,400); scene.getStylesheets().add(getClass().getResource("BingRen.css").toExternalForm()); PrimaryStage.setScene(장면); PrimaryStage.show(); } catch(예외 e) { e.printStackTrace(); } } 공개 정적 무효 메인(String[] args) { 발사(args); } }
FXML을 사용하여 각각 레이블이 포함된 BordPane과 2개의 HBox를 만듭니다.几乎와 HellopApp 一样简单:
<위로> <라벨 텍스트="BingRen 앱" /> <하단><라벨 텍스트="상태 표시줄" /> 하단> <중앙>
还有CSS来设置一些基本属性:
.hbox { -fx-배경색: #00ff00; -fx-테두리-색상: #00ff00; -fx-테두리-너비: 2px; -fx-패딩: 10; -fx-간격: 8; } .라벨 { -fx-텍스트 채우기: #0000ff; }
标签正确变为蓝color,但未应用 hbox 样式
<시간>시간>事实上,这些建议道不起작품용。
我尝试过:
对于每次更改,我道会更改标签的颜color,以确保new版本的 CSS 能够被读取。
标签总是改变颜color,但我从来没有재수평盒中得到背景或填充
현재 접근 방식이 실패하는 이유
보기CSS 문서一个>.
HBox
용For태그
따라서 아직 추가하지 않은 HBox용 ".hbox"와 같은 스타일 클래스는 없습니다.
CSS 선택기 및 JavaFX 배경
CSS 및 JavaFX 장면 그래프"부분 읽기:
적용 사례
이 문제는 세 가지 방법으로 해결할 수 있습니다.
CSS 파일에서유형 선택기를 사용하세요:
으아악CSS 파일에스타일 클래스적용:
으아악FXML로 작성:
으아악또는 코드를 작성하세요:
으아악CSS 파일에스타일 ID적용:
으아악FXML로 작성:
으아악또는 코드를 작성하세요:
으아악선택기 범위 차이
표준 적용의 의미는 각 방법에 따라 다릅니다.