当前位置: 首页 > 知识库问答 >
问题:

JavaFX场景生成器:如何在表视图中显示空行?如何在tableview中设置TableColumn名称的样式?

殳经略
2023-03-14

我正在使用javaFX场景生成器创建一个tableview。要求是表格应该显示2个空行,允许用户填写数据。但它显示出“表中无内容”。如何向表中添加空行?表格中的第一列是可编辑的,是必填字段。我需要用红色显示第一个列名,这表明它是必填字段。如何设置文本的颜色?

共有1个答案

姬成荫
2023-03-14

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

使用css。

文件红头发。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个空行,允许用户填写数据。但它显示出“表中无内容”。如何向表中添加空行?

这有点类似于如何绕过JavaFX的TableView“占位符”?(目前没有公认的答案)。

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

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

如果您的表中只有两个可编辑行,那么与TableView相比,带有标题标签和编辑文本字段的GridPane可能是更好的布局和控件组合,用于实现您的功能。

 类似资料:
  • 我运行wmii在linux和在想我自己,如果你可以运行javafx场景生成器从终端?

  • 我目前有一个表,其中的项可以根据各种列进行排序。我的当前表有空行,允许在不使用任何外部控件(表外按钮)的情况下随时插入新项。 我还没有找到一个解决方案,允许我在忽略空单元格的情况下对给定的列进行排序(即空单元格应该始终保留在表的底部,而所有其他单元格都根据需要进行排序) 对此的任何帮助都将不胜感激。 谢谢。

  • 我看了很多页,试图找出如何切换场景,但都没有成功。 我有一个计算器,我的目标是选择一个菜单选项来更改计算器(即:基础和科学)。现在我只是在测试,所以这里是我到目前为止与这个问题相关的代码(我使用的是场景生成器): 编辑我已经尝试了很多东西。不管怎样,我总是得到这个NullPointerException。我有一种感觉,这可能与在场景生成器中设置某些内容有关,但我就是找不到答案 工作代码: 我使用下

  • 问题内容: 我有一个prefHeight = 70 //没有prefWidth或任何宽度的HBox … 我也有一个prefWidth = 50 //没有prefHeight或任何高度的窗格… 我只想使用某些循环将窗格的多个实例添加到HBox。 当我在循环主体中添加(pane)时,出现以下错误。 我需要找到克隆窗格的方法(因为它按值传递)。有人可以帮我吗?(对我来说,拍摄快照不起作用,因为未使用父级

  • 我是一个全新的编程,这两个星期才开始学习,所以我很抱歉任何多余或草率的代码... 主类: 场景1 FXML控制器:

  • 如何将JavaFX中的线程与FXML以及任务或服务类一起使用? 我在我的程序中需要并发,因为我使用了一个很长的循环。如果我“手动”(没有FXML)编写这个代码,那么它就可以工作。但使用FXML它不起作用(JavaFX Scene Builder)。而不是在控制台中打印出“字符串缓冲区”变量,我想把它写在文本区域(这是一个可更新的组件)中。但在这种情况下,当然会出现错误消息,因为它不再属于JavaF