使用数据源将文本添加到组合框

2024-02-03

我有一个 vaadin 组合框,里面装有容器数据源

setContainerDataSource(container);

我现在想在结果列表中的某处插入静态文本。


例如:

一个组合框充满了一个容器,结果列表中弹出的第一个条目是某种标题:

Persons:
托马斯·S。
卢卡斯·B.
Alex X.

我可以通过操作容器或组合框来实现这一点吗?

我只是尝试设置容器源并通过 addItem() 添加字符串/标签到组合框,但这似乎不起作用。我对此有点陌生,所以我不知道如何继续。


如果您将 ComboBox 作为直接使用,并且不希望将“Person:”作为真人处理,则可以使用setNullSelectionItemId https://vaadin.com/api/com/vaadin/ui/AbstractSelect.html#setNullSelectionItemId%28java.lang.Object%29将假人定义为真正的虚拟对象。然而,这一解决方案有一个限制,即您只能添加一个虚拟对象。

这是我的示例,它将“Person:”添加到列表顶部并将其作为空值处理。请注意,我使用的是 Vaadin 7。

import com.vaadin.data.Property;
import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.data.util.BeanItemContainer;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.AbstractSelect;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Notification;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;

/**
 * The Application's "main" class
 */
@SuppressWarnings("serial")
public class MyVaadinUI extends UI {

    @Override
    protected void init(VaadinRequest request) {
        final VerticalLayout layout = new VerticalLayout();
        layout.setMargin(true);
        setContent(layout);

        BeanItemContainer<Person> container = new BeanItemContainer<Person>(Person.class);
        Person nullPerson = new Person(0, "Person:");
        container.addBean(nullPerson);
        container.addBean(new Person(1, "Django"));
        container.addBean(new Person(2, "Schultz"));

        ComboBox combobox = new ComboBox();
        combobox.setImmediate(true);
        combobox.setNullSelectionItemId(nullPerson); // Define the null person as a dummy.
        combobox.setContainerDataSource(container);
        combobox.setItemCaptionMode(AbstractSelect.ItemCaptionMode.PROPERTY);
        combobox.setItemCaptionPropertyId("name");  // the person's name field will be shown on the UI
        combobox.addValueChangeListener(new Property.ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                // Will display 'null selected' when nullPerson is selected.
                Notification.show(event.getProperty().getValue() + " selected");
            }
        });

        layout.addComponent(combobox);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用数据源将文本添加到组合框 的相关文章

  • Android:java.lang.OutOfMemoryError:

    我在 Android 上开发了一个使用大量图像的应用程序 可绘制文件夹中有很多图像 比如说超过 100 张 我正在开发图像动画应用程序 我使用 imageview 来显示 GIF 图像 我使用了将 gif 图像分割成多个 PNG 格式图像的
  • 简单 XML 框架:ElementMap 中的对象具有“类似内联”的行为

    我正在尝试在 Android 上序列化自定义对象的 Hashmap 以获得如下 xml
  • 如何在ArrayList中的特定位置插入对象

    假设我有一个大小为 n 的对象的 ArrayList 现在我想在特定位置插入另一个对象 假设在索引位置 k 大于 0 且小于 n 并且我希望索引位置 k 处及其之后的其他对象向前移动一个索引位置 那么有没有什么方法可以直接在Java中做到这
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • JAVA 中的 Composer 相当于什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我目前从 PHP 转向 java 有没有类似的工具composer https getcomposer org 在 PHP 中用于 JAV
  • 类型已知,但方法指的是缺失类型

    我对 java 和 Eclipse 不太有经验 但遇到以下问题 我正在写类似的东西 Point3D myPoint myClass myMethod arg 我收到错误 方法 myMethod myType arg 引用缺失的类型 Poin
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • H2数据库:如何进行加密保护,而不暴露文件加密密钥

    我们在服务器模式下使用Java H2数据库 因为我们不希望用户访问数据库文件 为了对数据库文件添加更多保护 我们计划使用 AES 加密 将 CIPHER AES 添加到数据库 URL 以防存储被盗 但是 每个用户在连接时还需要提供文件保护密
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • 使用 kryo 注册课程的策略

    我最近发现了 kryonet 库 它非常棒并且非常适合我的需求 然而 我遇到的一个问题是制定一种好的策略来注册所有可以转移的类 我知道我可以在每个对象中编写一个静态方法 该方法将返回它使用的所有类的列表 但我真的不想这样做 为了我自己的时间
  • 如何避免Eclipse在将类名放在注释中时导入类,以便checkstyle稍后不会抱怨?

    有时我将类名放在方法或类的注释中只是为了引用 但是 Eclipse 会自动执行导入并在文件中留下导入语句 这会导致稍后出现 未使用的导入 检查样式错误 当我在注释中输入类名时 是否可以更改一些配置以避免 Eclipse 自动导入 人们不同意
  • for循环中更新JLabel的问题

    我的程序的想法是从之前在其他 JFrame 中保存的列表中选择一个名称 我想在标签中一个接一个地打印所有名称 它们之间有很小的延迟 然后停在其中一个名称上 问题是lbl setText String 如果有多个则不起作用setText co
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • 膨胀类 android.support.design.widget.NavigationView 时出错

    我按照 NavigationView 的教程进行操作 但无法解决此错误消息 Error inflating class android support design widget NavigationView 教程链接 https www
  • JERSEY:错误跟踪:java.lang.IllegalStateException:实体输入流已关闭

    我正在使用 Jersey 2 x 以下是我的控制器 GET Path id Produces application json public Response getUser PathParam id int userId Context
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • 如何使用eclipse调试JSP tomcat服务?

    我想使用 Eclipse IDE 调试器来调试单独运行的 JSP Struts Tomcat Hibernate 应用程序堆栈 如何设置 java JVM 和 eclipse 以便设置断点 监视变量值并查看当前正在执行的代码 我刚刚用谷歌搜
  • Firebase:用户注册后如何进行电话号码验证?

    所以我知道我可以使用电子邮件验证或电话号码验证 但我想做的是在用户注册或登录后进行电话号码验证 如何连接这两种身份验证方法 最后 Firebase中是否有一个函数可以检查用户是否通过电话号码验证 谢谢 即使用户已通过身份验证 您仍然可以使用
  • com.sun.xml.ws.message.saaj.SAAJHeader 无法转换为 com.sun.xml.ws.security.opt.impl.outgoing.SecurityHeader

    我正在尝试访问第三方 Web 服务 该服务要求我创建一个传递时间信息 用户名和密码的安全标头 我在网上搜索了可行的示例 并尝试了多种方法 我正在尝试使用 Java 6 中内置的内容来做到这一点 我不确定我做错了什么 从 WSDL 生成 We
  • Android ClassNotFoundException:在路径上找不到类

    10 22 15 29 40 897 E AndroidRuntime 2561 FATAL EXCEPTION main 10 22 15 29 40 897 E AndroidRuntime 2561 java lang Runtime

随机推荐

  • 如何为 ElevatedButton 上的背景颜色设置动画?

    当我的 ElevatedButton 将其状态更改为禁用时 我想在两种背景颜色之间创建淡入淡出 我该怎么做 final buttonStyle ElevatedButton styleFrom backgroundColor Colors
  • C++ 从进程获取用户名

    我有一个进程句柄 HANDLE hProcess OpenProcess PROCESS QUERY INFORMATION PROCESS VM READ 0 THE PROCESS ID 如何获取正在运行该进程的用户的用户名 我正在使用
  • ASP.NET Core Url.Action 返回空字符串

    在 stackoverflow 上浏览了 3 小时后 我没有找到问题的解决方案 所以我怀疑我的项目中有一些特别的东西 我在 Visual Studios 2017 上有一个 ASP NET Core 2 0 WebApplications
  • 获取初始实体框架迁移脚本

    我刚刚安装了 Entity Framework Migrations 向类添加了一个属性 并尝试了 EF Migrations 我的开发数据库得到了及时更新 到目前为止 一切都很好 现在 我想为此创建一个更改脚本initial使用生产数据库
  • 更改 Google 工作表上特定单元格的背景颜色

    我正在处理这个绑定到 Google Sheets 电子表格的脚本 我在其中从时间驱动的触发器运行这个函数 我希望能够定位工作表上的特定单元格 如果单元格值 打开 以便我可以更改单元格的背景颜色 我想知道我该如何去做这项工作 我能够定位单元格
  • 在 Meteor.js 中查找当前会话 ID

    如何找到客户端当前的Session Id 我能够获得看起来像是最后一个会话 ID 而不是当前会话 ID console log Meteor default connection lastSessionId 这个措辞有点令人困惑 但是 la
  • 无法在 p:media 中显示从 Primefaces 中的流内容生成的 PDF

    我正在尝试显示在新浏览器窗口中打开的内联 PDF 我有以下场景 在由ajax调用的一些ActionListen中 我生成PDF内容 将数据放入会话中 并发送要执行的Javascript window open打开新页面以显示 PDF 在打开
  • 如果日期带有前导零,则 getDay() 返回错误的日期[重复]

    这个问题在这里已经有答案了 我在使用 javascript 时遇到了这个问题 我从数据库中获取 yyyy mm dd 日期 但是当我想使用 getDay 获取星期几时 如果这一天带有前导零 我会得到错误的数字 我写了一个可能的解决方案来将
  • 在 LinkedIn 上分享 描述字段未显示在新用户界面中

    用户在新用户界面上通过 LinkedIn API 上的共享发布的帖子最多会显示在其帐户上 用户消息 评论 图像 标题和链接域 但是 有关在 LinkedIn API 上共享的文档 https developer linkedin com d
  • 搜索视图未显示在工具栏中

    我实际上在支持 AppCompat v7 lib 24 0 0 上的 Searchview 有问题 SearchView 不显示任何文本和输入文本 看屏幕截图 搜索查询工作完美 这是我的菜单 menu menu
  • 无法以 null 启动服务 [服务名称]

    我最近编写了一个 Android Widget 并在模拟器和我的 Galaxy S 上进行了测试 它在两者上都运行良好 在我将其发布到 Android 市场后 现在我收到了一些错误报告 我在 Widget 类的 onUpdate 中声明一个
  • Azure 函数无法启动 - “未响应端口 X 上的 HTTP ping”(Docker/VNet)

    我真的很难弄清楚如何设置使用 Docker 容器映像并连接到 VNet 的 Azure Function 我在任何地方都找不到此设置的任何示例 我遇到的主要问题是 在我的容器启动并运行后 它似乎没有响应底层框架用于确定该功能是否启动并运行的
  • codechef 和 spoj 问题中使用的 modulo 10^9+7 有何意义?

    我正在研究一个问题 http www codechef com SEPT14 problems CHEFLR它需要输出为 对于每行输出答案模 10 9 7 为什么是模 10 9 7包含在问题中吗 其意义何在 我不是在寻找问题的解决方案 仅该
  • 进度条与文件解压

    我正在尝试更新progress bar将文件解压缩到 SD 卡中 我的解压工作正常 但是progress bar没有出现 这是我在 mainactivity 中的代码 private ProgressBar bar Override pub
  • ORM 解决方案(JPA;Hibernate)与 JDBC

    我需要能够以每 5 秒至少 8000 个对象的一致速率在内存 HSQL 数据库中插入 更新对象 我在 Spring Hibernate JPA 和纯 JDBC 之间做了一些性能对比测试 我发现使用 HSQL 的性能有显着差异 使用 Spri
  • Silverlight:FrameworkElement.FindName() 在浏览器窗口中不“可见”时找不到控件

    我遇到一个问题 我使用 FrameworkElement 对象的 FindName 方法来搜索该元素的子控件 我注意到了一些有趣的行为 但似乎无法弄清楚 如果用户滚动浏览器窗口 使得控件本身在窗口框架的上下文中不再明显显示 则 FindNa
  • “let”类陷入无限循环

    请原谅代码中的任何愚蠢错误 因为这是我第一次尝试使用类 而且我在网上找不到任何真正将其放入其中的教程 really对于像我这样的傻瓜来说 简单的术语 我尽力遵循 MS 指南 https msdn microsoft com en us li
  • c:forEach 在 tomcat 7 中不起作用

    我使用创建了简单的页面c forEach标签 它在 tomcat 6 中工作 但是not working tomcat 7 使用 JSF 2 0 开发简单的 Web 应用程序 我在 tomcat 6 中运行我的代码 它可以工作 我部署在 t
  • 为什么 Array.Copy 支持长参数

    来自MSDN http msdn microsoft com en us library btfeahds VS 80 aspx 参数 源数组 包含数据的数组 复制 目的地数组 接收数据的数组 长度 一个 64 位整数 表示 要复制的元素数
  • 使用数据源将文本添加到组合框

    我有一个 vaadin 组合框 里面装有容器数据源 setContainerDataSource container 我现在想在结果列表中的某处插入静态文本 例如 一个组合框充满了一个容器 结果列表中弹出的第一个条目是某种标题 Person