是否可以在 Window Builder for Eclipse 中定义您自己的“控制器”?

2024-01-12

我想同时使用 Window Builder 和 MVC 范例。当 Window Builder 将所有代码添加到一个文件中时,复杂的窗口会变得非常混乱。

我希望创建的默认文件是“视图”。

我想将我的控制操作(事件侦听器)保留在“控制器”类中。有没有一种方法可以让 Window 生成器自动将事件侦听器放入您选择的类中,而不是添加到一个整体文件中?


我不知道 Eclipse 的 Window Builder 是如何工作的,但我确实知道 NetBean 创建匿名内部类,这些内部类为每个按钮调用自定义方法,然后允许程序员更改自定义方法的主体。如果 Eclipse 类似,那么您可以简单地让这个自定义方法调用您的 Control 对象的方法。当然,它增加了一个间接层,但为了让您完全控制自己的控制权,付出的代价很小。

例如,如果我创建一个名为“myButton”的 JButton,然后让代码生成器为我的按钮创建一个操作,它将创建以下代码:

    myButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            myButtonActionPerformed(evt);
        }
    });

并将允许我在生成的方法 myButton ActionPerformed 中访问和编写代码:

private void myButtonActionPerformed(java.awt.event.ActionEvent evt) {
   // TODO add your handling code here:
}

在这个方法内部我会调用我的控件的方法:

private void myButtonActionPerformed(java.awt.event.ActionEvent evt) {
   if (myControl != null) {
      myControl.myButtonAction();
   }
}

控制类可能看起来像

class MyControl {

    void myButtonAction() {
        //TODO: implement control code
    }

}

GUI 需要 setControl(MyControl myControl) 方法才能将控件“注入”到 GUI 中。

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

是否可以在 Window Builder for Eclipse 中定义您自己的“控制器”? 的相关文章

  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 如何将 Eclipse Classic 升级到 Java EE?

    我想开发 HTML5 网站 我已经安装了用于Android开发的Java 我的机器上安装了 Eclipse Classic 3 6 现在我希望在同一台机器上安装 Java EE 是否可以 如果是这样 请告诉我如何将 Eclipse Clas
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • 只有 swipeone 可以与 jGestures 配合使用

    我正在尝试使用 jGestures 实现触摸事件 swipeone 工作正常 但其他任何东西 向左滑动 向右滑动等 都不会触发 div style height 500px width 500px background blue div 这
  • 根据多个属性条件选择列

    我想弄清楚如何使用有效地选择列dplyr select if The starwarsdplyr 0 70 中的数据集是一个很好的数据集 gt starwars A tibble 87 x 13 name height mass hair
  • C联盟输出不清楚

    我在理解工会及其运作方式方面遇到了一些困难 include
  • 从 Body 类 Kinect 获取 JointType

    我知道在旧的SDK中 有一个Skeleton类 你可以做类似的事情 public void Compare Skeleton skeleton var leftShoulderPosition skeleton Joints Where j
  • 如何防止 html 表格拉伸

    有时 当我的一个表格单元格中的一段数据太长时 它会拉伸单元格并使整个表格的布局变形 我怎样才能防止这种情况 你可能想要table layout fixed并设置一行的第一个单元格的宽度 See http www w3 org TR CSS2
  • 如何在overlayfs中使用多个较低层

    根据this https www kernel org doc Documentation filesystems overlayfs txt根据文档 应该可以将多个较低层与overlayfs一起使用 但我无法让它在内核3 18 13上工作
  • 循环 UTF-8 字符串时,是什么决定了字符的位置?

    我正在阅读有关的部分for中的陈述有效的 Go 文档 https golang org doc effective go html并遇到了这个例子 for pos char range 日本 x80語 fmt Printf Characte
  • Scala 和 State Monad

    我一直在尝试理解 State Monad 与其说它是如何使用的 倒不如说它是如何使用的 尽管它也不总是很容易找到 但我发现的每次关于 State Monad 的讨论都有基本相同的信息 而且总是有一些我不明白的地方 Take this htt
  • VS2008 TFS:是否可以更改工作项的默认签入操作?

    当我将代码签入 Team Foundation Server 时 有时 可能比实际更频繁 应该将我的签入与我正在处理的任务或错误相关联 当我标记任务或签入时 它会将签入操作设置为 解决 但几乎总是 我只想将其作为助理 结果是我经常错误地将任
  • 从操作/控制器层访问 JWT 令牌数据

    我正在使用 OAuth 2 0 JWT 授权和身份验证实现 Net Core 应用程序 在操作 控制器层中 我需要访问当前用户的 JWT 有效负载数据 或 JWT 令牌 怎么可能呢 Try this User 在你的控制器 操作中 如果您需
  • django 1.8 错误:“NoneType”对象不可调用

    请看图片 有一个包含 2 个字段的表单 用户输入信息并提交表格后 该页面将重定向到另一个 html 显示表单和过滤后的数据库结果 我的项目的结构是 1 个模型 2 个类 输入表单 结果 2 个 html 和 1 个views py 现在的问
  • WPF 数据绑定组合框到列表

    我在尝试通过 XAML 将 List 类型的属性绑定到组合框时遇到了困难 public List
  • 来自java应用程序的Activex?

    是否可以在Java应用程序中轻松嵌入ActiveX控件 这值得么 在我的下一个项目中 我应该在 Java 应用程序中使用现有的 activex 或者必须从头开始重新实现所有内容 所以我想知道什么会减少麻烦 我认为如果不借助第三方库就没有办法
  • 如何从嵌套匿名函数将值返回给父函数

    我有一个 javascript 函数 它应该返回字符串的地理编码 function codeAddress address var result new google maps Geocoder geocode address addres
  • MySQL 连接器/NET 输出参数返回 NULL

    使用以下代码 MySqlParameter curParam new MySqlParameter var MySqlDbType Int32 curParam Direction System Data ParameterDirectio
  • data.table:使用 with=False 和转换函数/摘要函数?

    我想总结 data table 中的几个变量 以宽格式输出 可能作为每个变量的列表输出 由于其他几种方法不起作用 我尝试进行外部 lapply 将变量名称作为字符向量给出 我想使用 with FALSE 传递这些 carsx as data
  • postgres 'WITH' 子句与 jooq

    天哪 我找不到在 JOOQ 中使用 postgres WITH 子句的方法 请问JOOQ是否支持 谢谢 公用表表达式 WITHjOOQ 目前不支持 子句 jOOQ 路线图上有一个针对 CTE 的待处理功能请求 454 https githu
  • 如何设置 C2DM 消息的超时/过期?

    C2DM 消息是否有 TTL 过期或某种超时功能 我希望设备在 10 分钟内收到 C2DM 消息 甚至更长 即 如果他们的手机已关闭 并且设备不应收到 C2DM 消息 我可能可以在设备中实现一些功能来忽略任何旧的 C2DM 消息 但我不确定
  • 禁用报表或列的列排序或过滤

    Jaspersoft 报告的新内容 根据这个 Jaspersoft 社区页面如何禁用表排序 过滤功能 JIVE https community jaspersoft com wiki how disable table sortingfil
  • 是否可以在 Window Builder for Eclipse 中定义您自己的“控制器”?

    我想同时使用 Window Builder 和 MVC 范例 当 Window Builder 将所有代码添加到一个文件中时 复杂的窗口会变得非常混乱 我希望创建的默认文件是 视图 我想将我的控制操作 事件侦听器 保留在 控制器 类中 有没