Es können keine horizontalen oder vertikalen Felder formatiert werden
P粉773659687
P粉773659687 2023-09-03 10:20:53
0
1
430

Sehr frustrierend, da ich Anleitungen und grundlegende Tutorials folge. Ich kann CSS-Stile auf verschiedene Elemente anwenden, aber nicht auf vbox oder hbox.

Ich habe die folgende einfache Anwendung, die FMXL und CSS verwendet, um eine einfache Szene zu erstellen:

import java.net.URL; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.stage.Stage; import javafx.scene.Parent; import javafx.scene.Scene; öffentliche Klasse BingRen erweitert Anwendung { @Override public void start(Stage PrimaryStage) { Übergeordneter Stamm = null; FXMLLoader Loader = new FXMLLoader(); URL xmlUrl = getClass().getResource("/BingRen.fxml"); loader.setLocation(xmlUrl); versuchen { root = loader.load(); Szene scene = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("BingRen.css").toExternalForm()); PrimaryStage.setScene(Szene); PrimaryStage.show(); } Catch(Ausnahme e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } }

Erstellen Sie mit FXML nur ein BordPane und zwei HBoxes, die jeweils eine Beschriftung enthalten.几乎和 HellopApp 一样简单:

                  

还有CSS来设置一些基本属性:

.hbox { -fx-Hintergrundfarbe: #00ff00; -fx-border-color: #00ff00; -fx-Rahmenbreite: 2px; -fx-padding: 10; -fx-spacing: 8; } .Etikett { -fx-text-fill: #0000ff; }

标签正确变为蓝色,但未应用 hbox 样式


事实上,这些建议都不起作用.

我尝试过:

  • 将 css 文件中的 .hbox 更改为 .Hbox
  • 在css文件中创建#allbox并添加fx-id="allbox" und fxml文件

P粉773659687
P粉773659687

Antworte allen (1)
P粉041881924

为什么您当前的方法失败了

查看CSS 文档一个>.

对于HBox

对于标签

因此,HBox 不存在“.hbox”这样的样式类,除非您添加了一个样式类,但您还没有这样做。

CSS 选择器和 JavaFX 背景

阅读标题为" 的部分CSS 和 JavaFX 场景图”

应用示例

因此,您可以通过三种方法解决此问题:

  1. 在 CSS 文件中使用类型选择器

    HBox {  }
  2. 在 CSS 文件中应用样式类

    .my-hbox-styleclass {  }

    并在 FXML 中写入:

    或者在代码中写入:

    myHBox.getStyleClass().add("my-hbox-styleclass");
  3. 在 CSS 文件中应用样式 ID

    #my-hbox-id {  }

    并在 FXML 中写入:

    或者在代码中写入:

    myHBox.setId("my-hbox-id");

选择器范围差异

每种方法的标准应用的含义有所不同:

  1. 类型选择器将应用于用户界面中的所有 HBox 类型。
  2. 类选择器将应用于应用了给定样式类的任何内容。
  3. id 选择器通常用于 UI 中的单个节点,而不是节点的类型或类。它在 FXML 文档或场景图树中应该是唯一的,尽管这不是强制的。
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!