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

JavaFX:表视图中的组合框焦点问题

敖涵容
2023-03-14

场景:我在JavaFx中创建了一个有2列的表视图。我已经用一些示例数据填充了该表。现在,我必须编辑我的表格的单元格。为此,我创建了一个新类(ComboTableCell),它覆盖了TableCell类。这个类定义了一个可编辑组合框的单元格工厂,如果我用鼠标点击遍历表,它可以很好地工作。然而,当我使用键盘选项卡来进行Traverse时,我面临一个问题。

Platform.runLater(new Runnable() {
        @Override
        public void run() {
            comboBox.requestFocus();

            //I have also tried with comboBox.getEditor().requestFocus(); but still the issue persists
            comboBox.getEditor().selectAll();
        }
    });

共有1个答案

汪皓
2023-03-14

我不得不面对同样的问题,我刚刚找到了一个解决办法。如果您将其作为可编辑组合,它将解决您的问题。

ComboBox cb=new ComboBox();cb.seteditable(true);

 类似资料:
  • 问题内容: 我已经在Java Fx中创建了一个表格视图,表格视图中的列之一由ComboBoxTableCell组成。请在下面的表格视图代码中找到 数据对象: 在上面的代码中,表的每一行均为TabVo类型。 在表中column1是组合框类型。现在,column1组合框的列表由在’TabViewController’中声明的’column1List’填充,因此表视图的所有行都填充有相同的下拉列表。 但

  • 我试图使用JavaFX作为带有历史记录的搜索字段。这是我的代码示例。 如果我做组合框的行为符合我的预期。历史记录中的最后一个条目将添加到列表的末尾。但是,我希望首先显示最后一个条目(我也希望删除重复项并限制历史大小,但在本例中我保持简单)。 所以我决定简单地将新值添加到列表前面的。然而,当我这样做时,组合框开始以奇怪的方式运行,代码不再工作。看起来,只要我在列表的末尾添加/删除项目,它就可以正常工

  • 我试图创建一个,它将显示所选的预览,但是会显示字符串值。 唯一有效的方法似乎是创建

  • 提前谢了。

  • 我试图更改JavaFX组合框列表的文本颜色,但它似乎不起作用。 返回以下内容:下拉列表文本不是白色 我该怎么解决这个问题?我的CSS知识不是很强。

  • 在使用JavaFX时,我发现焦点边框在一些可视化节点上存在障碍,比如按钮和某些窗格。关于这个主题的其他问题经常建议在样式文件中添加以下css(覆盖modena.css的默认值,JavaFX8的默认样式表): 我还发现,这个背景色来自前面提到的绘制边框的属性。因此,将颜色设置为透明会产生意想不到的效果,即某些节点(如窗格、组合框等)在不聚焦时显示边框,但在聚焦时不再显示边框,这是由于伪类的背景色派生