【问题标题】:JavaFX: How do i remove the prompt text in the ComboBox's list?JavaFX:如何删除 ComboBox 列表中的提示文本?
【发布时间】:2013-08-08 01:54:27
【问题描述】:

我有一个包含提示文本“测试”的组合框。

假设我只想删除列表中的提示文本,如下图所示,我该怎么做?

谢谢。

【问题讨论】:

  • 您不想从模型/列表中删除对象?一旦它被选中,它应该在组合框内可见,但在弹出窗口内不可见?
  • 嘿亨德里克,谢谢。对于这些情况,“测试”只是一个显示,还没有出现在模型/列表中,因为我使用了 cbo.setPromptText("Test");而不是 cbo.setItems(listContainingTest);我的意思是,对于上面的图像,cbo 是一个空的组合框。
  • 我认为最好的方法是创建您的自定义单元工厂并编写一个新的 ListCell 类。这里可以添加一些逻辑
  • 谢谢老哥,成功了。没想到cellFactory也可以改变提示文字。 :)
  • 没问题 :) 我添加了一个答案。也许您可以将其标记为正确答案

标签: combobox javafx-2 javafx


【解决方案1】:

我认为最好的方法是创建您的自定义单元工厂并编写一个新的 ListCell 类。在这里你可以添加一些逻辑: http://docs.oracle.com/javafx/2/api/javafx/scene/control/ListCell.html

【讨论】:

    【解决方案2】:

    我想你可以用这个方法简单地做到这一点:

    cbo.setPromptText(null);
    

    http://docs.oracle.com/javafx/2/api/javafx/scene/control/ComboBoxBase.html#setPromptText(java.lang.String)

    【讨论】:

    • 感谢您的回答!但是,经过检查,当我这样做时会发生什么是按钮上的提示也消失了
    【解决方案3】:

    最简单的方法是使用这一行: Some_ComboBox.getItems().remove(Some_ComboBox.getItems().size()-1);

    【讨论】:

      猜你喜欢
      • 2016-10-27
      • 2016-04-23
      • 2015-05-31
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多