在 Swing 应用程序中组织操作?

2023-11-25

我当前的应用程序有一个 JFrame,其中约有 15 个操作存储为 JFrame 中的字段。每个操作都是一个匿名类,其中一些非常长。

将操作分解为它们自己的类(可能位于称为操作的子包中)是否很常见?

如果不是,通常如何控制这种复杂性?

Thanks


如果您的操作可以重复使用(例如,从键盘快捷键、其他菜单、其他对话框等),特别是如果它们可以直接在底层模型上工作(而不是在 UI 上),那么通常会更好不要将它们作为匿名类。

相反,创建一个单独的包,并为每个包创建类。

通常,不直接实例化它们,而是使用某种管理器来定义常量并初始化和返回操作集也是有意义的,这样您就可以在不同版本中提供不同的操作集或仅设置某些操作用于内部发布。

最后,检查您的操作是否可以重构为类层次结构。它们通常可以,这可以节省代码复制,还可以帮助您增加稳健性(例如,在执行操作之前检查某些条件)。

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

在 Swing 应用程序中组织操作? 的相关文章

随机推荐

  • 将一张图像移动到另一张图像内

    背景 我允许用户上传蒙版图像内的图像 一旦用户上传图像 我就填充用户上传里面的图像mask image 1 遮罩图像 2 用户上传的图片 3 用户上传的面具图像 最终图像 代码笔 https codepen io kidsdial2 pen
  • 找出哪个进程对 USB 设备句柄具有独占锁

    我有一个使用 CreateFile API 读取 写入 USB 设备的库 该设备恰好实现了 HID 设备配置文件 因此它与 Microsoft 的 HID 类驱动程序兼容 系统上安装的其他一些应用程序正在以读 写模式打开设备 而没有共享模式
  • Firebase 功能无法部署

    我正在尝试创建 Firebase 函数 但遇到部署错误 即使在部署默认函数时也是如此helloworld功能 firebase debug log 文件提到了这一点 Could not find image for function pro
  • ASP.NET 添加一个 httphandler 来编辑下载的文件名

    我的项目中有一个页面DownloadDocument aspx它的代码隐藏是DownloadDocument aspx cs In my DownloadDocument aspx我有一个锚点 它采用如下动态链接 a style margi
  • jquery在CSS动画播放后删除类?

    我有CSS代码 body start webkit animation srcb ease in 4s 1 进入网站后只需播放一次 但问题是动画完成时 我网站上的按钮不起作用 动画完成后如何删除主体类 start 或者在动画播放后删除类延迟
  • 在 Typescript/Angular2 中显示引导箱警报? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想在我的 Angular2 项目中使用 Bootbox 我搜索了很多 但没有任何适合我的解决方案 我也尝试过angular2 modal但在使用过
  • 从 angularjs 中的另一个指令内部添加指令

    从另一个指令中添加指令会使浏览器挂起 我想做的是 1 更改自定义元素指令 例如
  • GMSMapView animateToCameraPosition 放大-缩小动画

    我在 iOS Swift 和 Android 中使用 Google 地图服务 在android中 地图视图有一个方法叫做animatreCamera它有一个动画 其中运动具有 缩小 放大 效果 如果两个摄像机具有相同的变焦 则地图视图将缩小
  • python球物理模拟

    我看过 Peter Colling Ridge 的精彩教程 http www petercollingridge co uk pygame physical simulation 我正在扩展 PyParticles 脚本该代码可以在网站上获
  • 任务“:app:kaptGenerateStubsDebugKotlin”执行失败

    将 android studio 从 electricEel 更新为 Flamingo 插件后id kotlin kapt 导致错误 Execution failed for task app kaptGenerateStubsDebugK
  • 分配在堆上的对象

    每当创建任何新对象时 都会在堆上创建该对象 为每个对象分配的内存有两个附加字段 1 类型对象指针 2 同步块索引 这两个字段到底有什么用途 有人能解释一下吗 类型对象指针用于表示对象的类型 这是必需的 方法查找 vtable 检查石膏 寻找
  • HTML Purifier - 净化什么?

    我正在使用 HTML Purifier 来保护我的应用程序免受 XSS 攻击 目前 我正在净化所见即所得编辑器中的内容 因为这是唯一允许用户使用 XHTML 标记的地方 我的问题是 我是否应该在登录身份验证系统中的用户名和密码 或注册页面的
  • 在自定义编辑类型字段中添加多个输入元素

    有没有办法创建具有多个输入元素的自定义字段 我正在咨询文档创建单个输入元素非常简单 但我不太确定如何添加多个输入元素 以前有人走过这座桥吗 如果是这样 你是怎么做到的 这是一些示例代码 name Dimensions index Dimen
  • 在 BrowseFragment 中禁用行缩放/展开

    我还没有找到任何文档如何在将焦点从标题切换到 BrowseFragment 中的片段时禁用行缩放 倚背版本 24 2 0 BrowseFragment有一个功能enableMainFragmentScaling这部分解决了问题 图像现在具有
  • 如何查看是否点击同一个元素两次? jQuery

    如何检测用户是否点击同一个 div 我尝试过这个但没有成功 oldthis null var this this if oldthis this alert You clicked this last oldthis this 您无法比较
  • Laravel Auth::logout 未删除记住我的 cookie

    因此 我将会话的生命周期设置为两周 这样用户就不必多次登录或退出 然而今天我注意到一些事情 如果您注销 它会破坏您的会话 但会在您的浏览器上保留 记住我 cookie 这会导致问题 因为如果您在同一台计算机上切换帐户 8 10 次 您会收到
  • 事务中的 LAST_INSERT_ID() 可靠吗?

    我正在使用 mysql ado net C 这是我的问题 我知道 mysql 是并发的 但是我有文件数据 缩略图名称 和数据库数据 行 同步 如果我开始一笔交易 但因任何原因失败 这会是一个问题吗 如果我在两个核心上同时运行这段代码 它们会
  • 在iPhone App中如何检测设备的屏幕分辨率

    在 iPhone 应用程序中 在设备上运行App时如何检测运行App的设备的屏幕分辨率 CGRect screenBounds UIScreen mainScreen bounds 这将为您提供整个屏幕的分辨率 以点为单位 因此 iPhon
  • 异常处理模式

    这是我看到的一种常见模式 其中与异常相关的错误代码存储为静态最终整数 当创建要抛出的异常时 它是用这些代码之一以及错误消息构造的 这导致要捕获它的方法必须查看代码 然后决定操作过程 另一种选择似乎是为每个异常错误情况声明一个类 尽管相关异常
  • 在 Swing 应用程序中组织操作?

    我当前的应用程序有一个 JFrame 其中约有 15 个操作存储为 JFrame 中的字段 每个操作都是一个匿名类 其中一些非常长 将操作分解为它们自己的类 可能位于称为操作的子包中 是否很常见 如果不是 通常如何控制这种复杂性 Thank