Vaadin 中当前 UI 的访问方法

2024-01-07

我目前正在 Vaadin 开发 Java Web 应用程序。

我想从另一个类访问位于我的 LoginUI 中的 getter 方法。

UI.getCurrent() 成功返回当前线程 (LoginUI)。

我需要调用哪些方法来实现此目的?

先感谢您。


UI.getCurrent() 不是线程安全的。相反,我向您推荐以下模式。

public class MyView extends VerticalLayout implements View {

    private UI ui;

    @Override
    public onAttach() {
        ui = getUI();
        ...
    }

...

    public updateMe(..) {
        ...
        try {
           ui.access( ... do updates ... );
        } catch (UIDetachedException e) {
           // Do nothing, this exception is thrown if Browser is closed
        }
    }
}

解释道。附加视图时存储 UI 引用。并编写一个方法来更新视图,因为您需要在那里执行 ui.access() 。调用此方法来执行更新,而不是在线程中执行 UI.getCurrent() 。

这是经常被问到的话题,这里还有关于同一件事的更具体的案例问题vaadin 10 - 推送 - 标签不会更新 https://stackoverflow.com/questions/51975976/vaadin-10-push-label-wont-update/51978235#51978235

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

Vaadin 中当前 UI 的访问方法 的相关文章

  • 如何通过 javaconfig 使用 SchedulerFactoryBean.schedulerContextAsMap

    我使用 Spring 4 0 并将项目从 xml 移至 java config 除了访问 Service scheduleService 带注释的类来自QuartzJobBean executeInternal 我必须让它工作的 xml 位
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • Twitter 超出了 Google 应用引擎的速率限制

    我正在使用谷歌应用程序引擎 并且想从给定用户下载推文 我只是简单地打电话http api twitter com 1 statuses user timeline USERNAME json http api twitter com 1 s
  • 简单的客户端文件处理,无需刷新

    什么叫干净简单JavaScript以下用例的解决方案 在网页上 用户从本地文件系统选择并上传文本文件 但客户端 JavaScript 代码不是将文件加载到服务器 而是打开并处理文件内容 并将结果写入同一页面无需刷新页面 注意 我不需要保留文
  • 无法在 Facebook ios SDK 中获取登录者的电子邮件 ID

    我正在开发一个 Facebook IOS 应用程序 从 Facebook 获取用户数据 公共资料 电子邮件 实施登录过程后 我能够获取用户的名字 姓氏和个人资料图片的 url 但我收到的电子邮件一片空白 我已经通过了获取公开个人资料和 Em
  • iOS 通过代码将默认键盘从 ABC 模式切换到 123 模式?

    我可以通过以下方式了解如何设置键盘的整体类型 self myTextView keyboardType UIKeyboardTypeDefault 如何通过代码将默认键盘模式从 ABC 切换到 123 并再次切换回来 基本上 当用户点击 字
  • scala protected 修饰符转换为 java 类是 public

    在 scala 类中 我定义了一个受保护的字段和一个受保护的方法 TestProtected scala class TestProtected protected var f 0 protected def m 1 在我看来 它将把受保护
  • 将表从 .sql 复制到 .db 文件。艰难地学习 SQL

    我很确定对此有一个简单的答案 但我在任何地方都找不到它 而且似乎自己也无法弄清楚 任何帮助将不胜感激 我正在尝试从 a 复制一个表 sql file ex1 sql 其中有一个基本表 我可以毫无问题地创建这个 但是然后我运行以下命令将此表复
  • 此外,使用现有身份验证对作为 Azure WebApp 托管的 ASP.NET Core MVC 网站进行密码保护

    我有一个带有 ASP NET Core Identity 的现有 ASP NET Core MVC 应用程序 其中我使用了以下组合signInManager PasswordSignInAsync and Authorize 强制用户登录网
  • 如何通过 1 的位置列表解码 0 和 1 的列表?

    我想创建一个List Int 仅包含 0 和 1 数组中定义的 0 和 1 的位置 val bitMask List 2 5 6 11 621 655 bitMask 是结果列表中位置一的列表 结果列表中的项目为零 结果我想得到 resul
  • Python PyEphem 计算方位角和高度

    我是 PyEphem 的新手 我正在尝试弄清楚它可以做什么以及它是如何工作的 由于我不想将其用作黑匣子并盲目相信我得到的任何数字 因此我想重新创建一个解释的示例here http www stargazing net kepler alta
  • 停止读取 Python 中的进程输出而不挂起?

    我有一个适用于 Linux 的 Python 程序 几乎看起来像这样 import os import time process os popen top readlines time sleep 1 os popen killall to
  • 使用 PagedList 和成员资格

    我一直在玩 Troy Goode 的 PagedListhttp pagedlist codeplex com http pagedlist codeplex com 我想知道是否有人已经让它与内置的 asp net 会员部分一起工作 我有
  • 将焦点设置在 xaml wpf 中的文本框上

    尽管这个论坛和其他论坛上有一些帖子 但我找不到一些东西来告诉我如何将焦点放在TextBox 我有一个带有许多标签和文本框的用户控件 加载表单时 我希望特定的文本框具有焦点 我已经设置了 tabIndex 但这似乎不起作用 有什么建议么 您可
  • Symfony 2 中的中间路由可选参数

    需要解决的问题 在 Symfony 2 中是否可以用 定义路由中间的 可选参数 我将使用其他问题数据 https stackoverflow com questions 17059843 routing in symfony2 option
  • ASP.NET MVC:动作过滤器设置控制器变量?

    我有一个场景 对于每个页面请求 我都必须检查会话是否存在特定 ID 如果发现这一点 我必须从数据库中获取相关对象并将其提供给控制器 如果找不到会话 ID 我需要重定向用户 会话已过期 目前 我有一个自定义代码块 几行 它在控制器内的每个操作
  • 防止在插件中创建

    我在服务活动的预创建上注册了一个插件 在插件中 我检查一些条件 如果满足这些条件 我想停止创建服务活动 我想创建另外两个服务活动来代替该服务活动 但我不希望用户收到这一切的通知 有没有办法停止在 CRM 2011 上的插件中创建 SA 记录
  • 如何将 UUID 转换为 base64?

    我想打字UUID并将其输出到Base64编码格式 但是考虑到输入方法Base64并输出UUID如何实现这一点似乎并不明显 update虽然对于我的用例来说不是明确的要求 但最好知道所使用的方法是否使用 UUID 的原始 UUID UUID
  • 使用相同的 docker 映像部署多个 Cloud Run 服务

    有超过 25 个 Cloudrun 服务使用相同的 docker 镜像 来自 GCR 但配置了不同的变量 有什么简单可靠的方法可以使用来自任何类型传入事件的最新容器映像来部署所有服务 目前使用下面的CLI命令来手动执行一一执行 有没有一种自
  • java子类的私有final字段可以在超级构造函数完成之前初始化吗?

    我有一对像这样的课程 public abstract class Class1 public Class1 function2 protected abstract void function2 public class Class2 im
  • mkstemp 的 java 等效项

    Java中有什么方法可以安全地写入临时文件吗 据我所知 创建临时文件 createTempFile 的唯一方法实际上并不同时打开它 因此文件打开和文件写入之间存在竞争条件 我错过了什么吗 我在 UnixFileSystem java 中找不
  • Vaadin 中当前 UI 的访问方法

    我目前正在 Vaadin 开发 Java Web 应用程序 我想从另一个类访问位于我的 LoginUI 中的 getter 方法 UI getCurrent 成功返回当前线程 LoginUI 我需要调用哪些方法来实现此目的 先感谢您 UI