带有自定义项目的 JavaFx 2 ChoiceBox

2024-01-18

我有一堂课,例如:

public class myClass{

int age;
String name;

public String toString(){
return name;

};
}

public static ObservableList<myClass> myClassList;

我想知道是否有可能

ChoiceBox<myClass> choiceChart = new ChoiceBox<>(myClassList);

Thanks

PS我希望有类似的情况

使用 JavaFX 2 渲染 POJO https://stackoverflow.com/questions/13368572/rendering-a-pojo-with-javafx-2s-combo-box-without-overriding-the-tostring-met

但使用ChoiceBox

Edit:

这是我的情况:我有一个 tableView,其中的一列中我必须使用 toString() 方法从 myClass 类型的对象设置一个字符串。

我尝试使用这些方法(其中 myClass --> CustomInternalWindow class )

public static class Indicators{
      private final SimpleStringProperty tool_col;
      private final SimpleStringProperty chart_col;
      private final SimpleStringProperty pane_col;
      private final SimpleBooleanProperty on_col;

      private Indicators(String tl, CustomInternalWindow chrt, String pne, Boolean sel){
          this.tool_col = new SimpleStringProperty (tl);
          if (chrt == null) {
              this.chart_col = null;                  
          }
          else {
              this.chart_col = new SimpleStringProperty (chrt.toString());
          }
          this.pane_col = new SimpleStringProperty (pne);
          this.on_col = new SimpleBooleanProperty (sel);

      }
      public String getTool(){
          return tool_col.get();
      }
      public void setTool(String tl){
          tool_col.set(tl);
      }
...

public SimpleBooleanProperty onProperty() {
          return on_col;
      }
      public SimpleStringProperty toolProperty(){
          return tool_col;
      }
      public SimpleStringProperty chartProperty(){
          return chart_col;
      }
      public SimpleStringProperty paneProperty(){
          return pane_col;
      }
}  

and

  tablecolumnFrame.setCellFactory(new Callback<TableColumn<Indicators, CustomInternalWindow>, TableCell<Indicators, CustomInternalWindow>>(){
      @Override 
      public TableCell<Indicators, CustomInternalWindow> call(TableColumn<Indicators, CustomInternalWindow> param){
          TableCell<Indicators, CustomInternalWindow> cell = new TableCell<Indicators, CustomInternalWindow>(){

             @Override
             public void updateItem(CustomInternalWindow item, boolean empty) {
                    super.updateItem(item, empty);
                    if (item != null) {
                        ChoiceBox<CustomInternalWindow> choiceChart = new ChoiceBox<>(newprojectx.NewProjectXController.windowsPlotted);
                        choiceChart.setConverter(new CustomInternaWindowStringConverter());
                        choiceChart.getSelectionModel().select(item);
                        choiceChart.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<CustomInternalWindow>() {                                        
                                    @Override
                                    public void changed(
                                    final ObservableValue<? extends CustomInternalWindow> ov, final CustomInternalWindow oldValue, final CustomInternalWindow newValue) {
                                        if (!isEditing()) {
                                            final TableView table = getTableView();
                                            if (table != null) {
                                                table.edit(getTableRow().getIndex(), getTableColumn());
                                            }
                                        }
                                        commitEdit(newValue);
                                    }
                                });
                        setGraphic(choiceChart);
                    }
                }
            };             
            return cell;
      }
  });

但我无法显示 windowsPlotted 列表中的字符串

Update:我仍在努力解决这个问题,非常感谢任何帮助或建议。


您可以指定一个字符串转换器 http://docs.oracle.com/javafx/2/api/javafx/util/StringConverter.html在 myClass 实例和 ChoiceBox 中显示的值之间进行转换。

这是通过设置转换器() http://docs.oracle.com/javafx/2/api/javafx/scene/control/ChoiceBox.html#setConverter%28javafx.util.StringConverter%29 method.

例如:

ChoiceBox<myClass> choiceChart = new ChoiceBox<>();
choiceChart.setConverter(new MyClassConverter());
choiceChart.setItems(myClassList);

class MyClassConverter extends StringConverter<myClass> {

  public myClass fromString(String string) {
    // convert from a string to a myClass instance
  }

  public String toString(myClass myClassinstance) {
    // convert a myClass instance to the text displayed in the choice box
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有自定义项目的 JavaFx 2 ChoiceBox 的相关文章

  • 仿射变换适用于图形,不适用于文本和标签

    这篇文章是我对问题的回答的套件 变换形状 https stackoverflow com questions 15734388 transforming a shape 这是我想要的图像 这是一个简单程序生成的图像 您可以看到文本被旋转 我
  • 在 Swing JFrame 上添加 WebView 控件

    我正在开发与 JavaFX 控件混合的 Swing 应用程序 我创建了一个 JavaFX 控件 WebView 浏览 HTML 文件 但我想要 要知道 如何在 Swing 的容器上添加此 Web 视图控件JFrame 鉴于已经存在jFram
  • 如何在单击按钮时从 JavaFX WebView 调用 JavaScript 函数?

    我正在尝试从 JavaFX 调用 JavaScript 函数WebView http docs oracle com javafx 2 api javafx scene web WebView html在 JavaFX 按钮单击事件上 我正
  • 如何让VBox填充其父级的大小

    这是使 VBox 填充其父级的正确方法吗 final Group root new Group final Scene scene new Scene root 1000 800 Color BLACK final VBox c new V
  • JavaFX XYChart 对数图

    我有一个 XYChart 将数据绘制为 Y 轴上的线性步骤 我想绘制为对数或半对数 Y 刻度 如何更改我的以下代码 public class BaseXYChart extends Application Override public v
  • 如何在控制器类中的 JavaFX 应用程序中交换屏幕?

    如果一个JavaFX项目中有3个文件 FXML 文件 FXML 控制器和应用程序类 控制器如何响应按钮单击 效果非常好 并更改该单击上的屏幕 通常是通过stage setScreen 我没有参考阶段 它被传递给应用程序类的start Sta
  • 在 javafx 中注册鼠标处理程序,但处理程序不是内联的

    我有一个 JavaFX 应用程序变得有点大 我想保持代码的可读性 我有一个折线图 我希望内置缩放功能 该功能在单击鼠标时发生 我知道我需要向图表注册鼠标侦听器 我无法从 Oracle 示例中弄清楚什么 即如下所示 http docs ora
  • javafx中的stackpane和root有什么区别?

    我正在练习javafx做饼图 以下是开发饼图的代码 如果我这样做Group并与StackPane 我发现输出没有区别 我已经评论了组部分 只是徘徊两者之间的区别 import javafx application Application i
  • JavaFX 2:TableView:删除标题+空时显示网格

    我有两个关于 Javafx 2 中的 TableView 的问题 1 是否可以隐藏表格中的标题 2 当表为空时 它只显示一个白色窗格 上面写着 表中没有内容 是否可以更改此设置以显示默认网格 即使表格为空 如果可能的话 我想要一个带有 CS
  • JavaFX 中的内部框架

    我找到了这个内部框架的例子 http docs oracle com javase tutorial uiswing components internalframe html http docs oracle com javase tut
  • 标签文字位置

    我有一个带有图像和文本的标签 final Label label new Label labelText label setTextAlignment TextAlignment CENTER ImageView livePerformIc
  • 如何监听场景图节点中的WindowEvent.WINDOW_SHOWN?

    似乎 WindowEvent WINDOW SHOWN 永远不会在场景图中的任何节点上分派 也没有 我能找到的 知道节点何时可见 渲染 显示 例如 测试启动器 java package com example javafx event im
  • 访问 FXML 控制器类

    我想随时与 FXML 控制器类进行通信 以更新主应用程序或其他阶段屏幕上的信息 这可能吗 我还没有找到任何方法来做到这一点 静态函数可能是一种方法 但它们无法访问表单的控件 有任何想法吗 您可以从以下位置获取控制器FXMLLoader FX
  • JavaFX - setVisible 隐藏元素但不重新排列相邻节点

    在 JavaFX 中 如果我有一个场景有 2VBox元素和每个VBox有多个Label in it 如果我设置顶部VBox to 无形的 为什么底部VBox 不向上移动顶部的场景VBox was The VBox is 无形的但我希望其他物
  • 使用 JavaFX 将可执行 Jar 限制为一个窗口

    我正在通过构建 JavaFX 应用程序E fx 剪辑 and Java场景生成器 基本功能是登录窗口 登录后 将打开新窗口 然后登录窗口消失 目前还处于原型阶段 用完eclipse后 我想要的功能都有了 启动时显示登录窗口 代码如下 Ove
  • ObservableList 不更新 ArrayList

    对于学校作业 我们正在使用 JavaFX 中的 ObservableList 对象 对吗 我已经为此工作了一天多了 但无法弄清楚 老师只告诉我们 谷歌一下 所以这也没有帮助 基本上 我们正在开发一个基本的管理应用程序来跟踪人们及其家人 人们
  • javafx tableview 中的快速过滤

    我需要在 javafx tableview 中实现一个具有大量数据 大约 100 000 的过滤器 我努力了本教程 http code makery ch blog javafx 2 tableview filter 它可以工作 但是与 s
  • 如何从舞台组件中仅删除“最小化”按钮以及如何在 JavaFX 中自定义组件?

    如何从舞台组件中仅删除 最小化 按钮以及如何在 JavaFX 中自定义它们 我正在使用 Netbeans 7 1 2 并创建了一个简单的 JavaFX 应用程序 我有一个名为 PrimaryStage 的阶段对象 我怎样才能实现它 不幸的是
  • 如何平滑拖动JavaFX多边形?

    我有一个多边形 三角形 我想让它可以用鼠标拖动 下面是我尝试过的代码 但是使用此代码我无法顺利拖动它 请让我知道如何才能使其顺利拖动 public void start Stage primaryStage throws Exception
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我

随机推荐

  • 无法从 Amazon Linux EC2 实例上的 Wordpress 连接到 RDS mysql 数据库

    我正进入 状态Error establishing a database connection尝试从我的 Wordpress 实例连接到 Amazon RDS 上的 mysql 时 Wordpress 位于我的 AWS Linux EC2
  • PHP读取和解析大文件? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我即将读取一个大小为 200Mb 的
  • MySQL中如何比较两个查询结果是否相等?

    我是 MySQL 用户 我有两个疑问 我想比较他们的结果是否相等 我想用一个返回 true 或 false 的查询来完成此操作 因此我的两个查询很可能采用子查询的形式 我想避免返回两个查询的结果并在应用程序级别比较它们 以减少通信并提高性能
  • 如何在单击时切换两个图像

    我正在制作一个可折叠的树视图 我做到了这一切 我只需要我的 and 每当单击图标时就会进行切换 当我更改图标时我做了这部分 to 单击后 使用 jQuery 并使用以下代码 this attr src images expand gif 问
  • 如何在显示 ABPeoplePickerNavigationController 时指定组

    最初显示时如何指定组ABPeoplePickerNavigationController 所以它不会自动显示 所有联系人 是的 我必须让它发挥作用 将您的班级设置为人员选择器的代表 pp delegate self 然后实施 void na
  • 在 django 日期时间上使用 strftime 会在字符串中生成 UTC 时间

    我的模型之一中有以下代码 def shortDescription self return self name self class date strftime I M self class date是否具有时区意识DateTimeFiel
  • 在 C++ 模板化代码中找不到构造函数[重复]

    这个问题在这里已经有答案了 使用以下命令编译它时出现此错误 g main cpp Vec cpp Wall o main I tmp cciqbEQJ o In function main main cpp text 0x8b undefi
  • 如何以兼容模式运行Java?

    Java支持兼容模式运行吗 换句话说 如果我们在系统上安装了 JDK 8 是否可以将其配置为使用相同的安装在 7 或之前版本上运行我的应用程序 我可以举一个例子 比如 IE 11 可以根据兼容性选项切换为 IE 8 9 或 10 运行 我同
  • 在 C# 中将 double 转换为 int

    在我们的代码中 我们需要将 double 转换为 int double score 8 6 int i1 Convert ToInt32 score int i2 int score 谁能解释一下为什么i1 i2 我得到的结果是 i1 9
  • 为什么? “始终将用户定义的异常声明为最终的”

    我使用 Java 源代码分析器分析了我正在处理的代码 警告之一是 始终将用户定义的异常声明为最终的 还有许多其他警告没有多大意义 但这个警告让我有点困惑 我正在开发一个框架 并且有一个根通用异常 例如 FrameworkGenericExc
  • iOS 推送通知自定义声音重复?

    我正在处理推送通知 我已经为推送通知实现了自定义声音 如果推送通知自定义声音只有 5 秒长 那么我可以重复它直到达到最大声音限制 30 秒 吗 例如 我可以重复播放一个通知的声音 6 次吗 JSON 有效负载是 array alert gt
  • 替代 ClientLogin 进行身份验证

    由于 Google 将 ClientLogin API 列为已弃用 建议的替代方案是什么 就我而言 我需要一台服务器来使用我拥有的凭据进行身份验证和发布内容 OAuth 等替代方案在这种情况下不起作用 根据您的应用场景 认证方式有所不同 报
  • 你能在 Angular 中压缩 get 请求的内容吗?

    我正在使用 Angular 获取一些 JSON 如下所示 http url https www somemachine com getdata method GET params success function data status h
  • 尝试让 main/form1 之外的类相互交互是否是一种不好的形式? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从 GitHub 构建 R 包?

    我尝试建立R 包的分支 https github com patcpsc rredis来自github 这个fork有一个新的错误修复 https github com bwlewis doRedis issues 10 我能够构建并安装来
  • 使散景的自定义 TapTool 适用于全息视图

    我想使用散景TapTool单击每个 URL 时打开不同的 URLholoviews Polygons 散景中的一个完美示例是散景文档 https docs bokeh org en latest docs user guide intera
  • Python pip包安装elastic-search-curator时出现RequestsDependencyWarning

    我通过以下命令安装了弹性搜索策展人 sudo pip install U elasticsearch curator 一切都安装好了 但是现在当我执行以下操作时 curator cli version 我收到以下依赖性警告 usr loca
  • javax.net.ssl.SSLHandshakeException:没有适当的协议(协议已禁用或密码套件不合适

    我知道有几个关于此错误的问题 但没有任何对我有帮助 我有在 gmail 服务器上发送带有附件的电子邮件的方法 效果很好 昨天我买了一台新的 mac mini m1 我尝试用这种方法发送电子邮件 但它引发了此错误 public static
  • Gson - 将嵌套对象序列化为属性

    有没有一种简单的方法可以将嵌套对象转换为 JSON 我正在尝试创建一个 JSON 对象来匹配后端 我在网络中使用 Retrofit 它使用 Gson 将对象转换为 JSON 我无权访问网络调用和转换之间的任何代码 因此我试图找到一种干净的方
  • 带有自定义项目的 JavaFx 2 ChoiceBox

    我有一堂课 例如 public class myClass int age String name public String toString return name public static ObservableList