当前位置: 首页 > 编程笔记 >

如何在JavaFX中使用CSS设置分隔符的样式?

林辰钊
2023-03-14
本文向大家介绍如何在JavaFX中使用CSS设置分隔符的样式?,包括了如何在JavaFX中使用CSS设置分隔符的样式?的使用技巧和注意事项,需要的朋友参考一下

分隔符是水平或垂直线,用于分隔应用程序的UI元素。在JavaFX中,javafx.scene.control.Separator类代表一个分隔符,要创建一个分隔符,您需要实例化该类。您可以使用CSS控制分隔符的外观。

通过创建CSS文件并在应用程序中启用它,可以创建分隔符的替代样式。完成后,创建的样式将应用于应用程序中的所有分隔符。

setStyle()方法接受以字符串格式的CSS和指定的样式应用到分离器。使用此方法,您可以增强分隔符的可视化,如下所示:

//使用CSS设置分隔符的样式
sep.setStyle("-fx-border-color:#D2691E; -fx-border-width:2");

示例

import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.Insets;
import javafx.geometry.Orientation;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.Separator;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class StylingSeparator extends Application {
   public void start(Stage stage) {
      //创建复选框
      CheckBox checkBox1 = new CheckBox("Java");
      CheckBox checkBox2 = new CheckBox("Python");
      CheckBox checkBox3 = new CheckBox("C++");
      CheckBox checkBox4 = new CheckBox("MongoDB");
      CheckBox checkBox5 = new CheckBox("Neo4J");
      CheckBox checkBox6= new CheckBox("Casandra");
      //创建标签
      Label label = new Label("选择技术:");
      Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12);
      label.setFont(font);
      //创建一个分隔符
      Separator sep = new Separator();
      sep.setOrientation(Orientation.VERTICAL);
      sep.setMaxHeight(75);
      sep.setHalignment(HPos.CENTER);
      //使用CSS设置分隔符的样式
      sep.setStyle("-fx-border-color:#D2691E; -fx-border-width: 2;");
      //将复选框和分隔符添加到窗格中
      VBox box1 = new VBox(5);
      box1.setPadding(new Insets(5, 5, 5, 50));
      box1.getChildren().addAll(checkBox1, checkBox2, checkBox3);
      VBox box2 = new VBox(5);
      box2.setPadding(new Insets(5, 5, 5, 10));
      box2.getChildren().addAll(checkBox4, checkBox5, checkBox6);
      HBox root = new HBox(box1, box2);
      root.getChildren().add(1,sep);
      //设置舞台
      Scene scene = new Scene(root, 595, 130, Color.BEIGE);
      stage.setTitle("Separator Example");
      stage.setScene(scene);
      stage.show();
   }
      public static void main(String args[]){
      launch(args);
   }
}

输出结果


 类似资料:
  • 我是JavaFx新手。我在FXML中创建了一个网格窗格。我想将该网格窗格设置为下图。我尝试了以下答案,并尝试了更多的CSS元素。但这些都没有帮助我做到这一点。 用于GridPane、VBox、VBox的JavaFX CSS类 使用CSS在GridPane中居中显示子项 向GridPane JavaFX添加边框 我是否也使用了错误的方法?我可以使用GridPane实现这一点,还是TableView很

  • 我的应用程序中有SplitPane。这是SplitPane具有默认宽度的分隔符。如何设置SplitPane分隔符的宽度

  • 问题内容: 我正在设置asp.net菜单的样式,并且试图了解StaticSelectedStyle-CssClass和StaticHoverStyle- CssClass参数的含义。 我的理解是,只要需要,使用这些参数定义的样式就会作为CSS类应用于相关元素。所以我创建菜单如下: 它适用于StaticMenuStyle-CssClass和StaticMenuStyle- CssClass(将这些类

  • 问题内容: 是否可以像使用文本一样使用CSS为外部.svg设置样式?我想念什么?我的标记和CSS看起来像这样: 问题答案: 如果像引用标签一样通过引用外部文件来包含svg图像,则svg图像中的元素将不包含在主文档DOM树中。他们组成了自己的树。因此,外部图像中的元素无法通过主文档中的CSS选择器进行匹配。 您可以像大多数其他元素一样设置元素的样式,例如为其设置边框。但是您不能(至少这样)访问外部图

  • 问题内容: 我有几个SVG图形,我想通过我的外部样式表修改颜色,而不是直接在每个SVG文件中修改。我不是将图形插入行中,而是将它们存储在我的图像文件夹中并指向它们。 我以这种方式实现了它们,以使工具提示能够正常工作,并且我还将每个工具提示都包装在标签中以允许链接。 这是SVG图形的代码: 我将以下内容放入我的外部CSS文件(main.css)中: 但是,它对图形没有影响。我还尝试了.socIcon

  • 问题内容: 我正在尝试使用以下样式设置复选框: 但是没有应用样式。复选框仍显示其默认样式。如何给它指定的样式? 问题答案: 更新: 以下答案引用了CSS 3广泛使用之前的状态。在现代浏览器(包括InternetExplorer9和更高版本)中,使用首选样式创建复选框替换更为简单,而无需使用JavaScript。 值得注意的是,基本问题没有改变。您仍然不能直接将样式(边框等)应用于复选框元素,并使这