分隔符是水平或垂直线,用于分隔应用程序的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。 值得注意的是,基本问题没有改变。您仍然不能直接将样式(边框等)应用于复选框元素,并使这