4

我正在使用 javaFX Scene Builder 来创建表格视图。要求是表格应该显示 2 个空行,允许用户填写数据。但它显示“表中没有内容”。如何将空行添加到表中?表中的第一列是可编辑的,它是必填字段。我需要以红色显示第一列名称,表示它是必填字段。如何设置文本颜色?

4

1 回答 1

4

我需要以红色显示第一列名称,表示它是必填字段。如何设置文本颜色?

使用 css。

文件 redhead.css

.redhead #colx .label {
    -fx-font-size: 1.2em;
    -fx-font-weight: bold;
    -fx-text-fill: mediumvioletred;
    -fx-background-color: linear-gradient(to bottom, azure, mediumturquoise);
}

表头定制

示例 FXML

<?xml version="1.0" encoding="UTF-8"?>

<?scenebuilder-stylesheet redhead.css?>

<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane id="AnchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="139.99990000000253" prefWidth="309.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
  <children>
    <TableView layoutX="25.0" layoutY="24.0" prefHeight="93.0" prefWidth="250.0" styleClass="redhead">
      <columns>
        <TableColumn id="colx" maxWidth="5000.0" minWidth="10.0" prefWidth="158.0" style="" styleClass="redhead" text="Column X" />
        <TableColumn prefWidth="75.0" text="Column Y" />
      </columns>
    </TableView>
  </children>
</AnchorPane>

要求是表格应该显示 2 个空行,允许用户填写数据。但它显示“表中没有内容”。如何将空行添加到表中?

这有点类似于How can I bypass the JavaFX's TableView "placeholder"? (目前没有公认的答案)。

JavaFX 问题跟踪器中有一个现有的功能请求:RT-31086 不要强迫我在空的 TableView 中使用默认的“占位符”

问一个新问题。包括有关您的新问题与现有问题有何不同的信息、您迄今为止尝试过的代码以及您遇到困难的地方的信息。


如果您的表格中只有两个可编辑的行,那么带有用于标题的标签和用于编辑的 TextFields 的GridPane可能是用于实现您的功能的布局和控件的更好组合,而不是 TableView。

于 2013-10-17T12:58:15.240 回答