가로 또는 세로 상자의 스타일을 지정할 수 없습니다.
P粉773659687
P粉773659687 2023-09-03 10:20:53
0
1
553
<p>가이드와 기본 튜토리얼을 따라가다 보니 매우 실망스럽습니다. CSS 스타일을 다른 요소에 적용할 수 있지만 vbox나 hbox에는 적용할 수 없습니다. </p> <p>FMXL과 CSS를 사용하여 간단한 장면을 만드는 다음과 같은 간단한 애플리케이션이 있습니다. </p> <pre class="brush:php;toolbar:false;">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); } }</pre> <p>FXML을 사용하여 각각 레이블이 포함된 BordPane과 2개의 HBox를 만듭니다.几乎와 HellopApp 一样简单:</p> <pre class="brush:php;toolbar:false;"><?xml 버전="1.0" 인코딩="UTF-8"?> <?java.lang.* 가져오기?> <?java.util.* 가져오기?> <?javafx.scene.* 가져오기?> <?javafx.scene.control.* 가져오기?> <?javafx.scene.layout.* 가져오기?> <?javafx.geometry.* 가져오기?> <BorderPane fx:id="rootBorderPane" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" fx:controller="MainControler"> <위로> <H박스> <라벨 텍스트="BingRen 앱" /> </H박스> </top> <하단> <H박스> <라벨 텍스트="상태 표시줄" /> </H박스> </하단> <중앙> </center> </BorderPane></pre> <p>还有CSS来设置一些基本属性:</p> <pre class="brush:php;toolbar:false;">.hbox { -fx-배경색: #00ff00; -fx-테두리-색상: #00ff00; -fx-테두리-너비: 2px; -fx-패딩: 10; -fx-간격: 8; } .라벨 { -fx-텍스트 채우기: #0000ff; }</pre> <p>标签正确变为蓝color,但未应用 hbox 样式</p> <시간 /> <p>事实上,这些建议道不起작품용。</p> <p>我尝试过:</p>
  • 将 css 文件中的 .hbox 更改为 .Hbox
  • <li>재css文件中创建#allbox并添加fx-id="allbox"和fxml文件</li> </ul> <p>对于每次更改,我道会更改标签的颜color,以确保new版本的 CSS 能够被读取。</p> <p>标签总是改变颜color,但我从来没有재수평盒中得到背景或填充</p>
P粉773659687
P粉773659687

모든 응답(1)
P粉041881924

현재 접근 방식이 실패하는 이유

보기 CSS 문서一个>.

HBox

For 태그

따라서 아직 추가하지 않은 HBox용 ".hbox"와 같은 스타일 클래스는 없습니다.

CSS 선택기 및 JavaFX 배경

CSS 및 JavaFX 장면 그래프 " 부분 읽기:

적용 사례

이 문제는 세 가지 방법으로 해결할 수 있습니다.

  1. CSS 파일에서 유형 선택기를 사용하세요:

    으아악
  2. CSS 파일에 스타일 클래스 적용:

    으아악

    FXML로 작성:

    으아악

    또는 코드를 작성하세요:

    으아악
  3. CSS 파일에 스타일 ID 적용:

    으아악

    FXML로 작성:

    으아악

    또는 코드를 작성하세요:

    으아악

선택기 범위 차이

표준 적용의 의미는 각 방법에 따라 다릅니다.

  1. 유형 선택기는 사용자 인터페이스의 모든 HBox 유형에 적용됩니다.
  2. 클래스 선택기는 해당 스타일 클래스가 적용된 모든 콘텐츠에 적용됩니다.
  3. id 선택기는 일반적으로 노드의 유형이나 클래스보다는 UI의 개별 노드에 사용됩니다. 필수는 아니지만 FXML 문서 또는 장면 그래프 트리 내에서 고유해야 합니다.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿