当前位置: 首页 > 面试题库 >

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

归和惬
2023-03-14
问题内容

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

将动作分解成自己的类是否很常见(可能在称为动作的子包中)?

如果没有,通常如何驯服这种复杂性?

谢谢


问题答案:

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

而是,创建一个单独的包,并为每个包创建类。

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

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



 类似资料:
  • 问题内容: 我目前正在替换匿名的ActionListeners 带有代表动作的类文件: 但是,我的GUI可以执行很多操作(例如CreatePersonAction,RenamePersonAction,DeletePersonAction,SwapPeopleAction等)。 是否有一种很好的方法可以将这些类组织成某种连贯的结构? 问题答案: 您可以将操作保存在单独的程序包中以隔离它们。有时,将

  • 问题内容: 我愿意在应用程序中添加一个按钮,单击该按钮将重新启动该应用程序。我搜索谷歌,但没有发现任何有用的,除了这一个。但是,此处遵循的过程违反了Java的WORA概念。 是否有其他以Java为中心的方法来实现此功能?是否可以只派生另一个副本然后退出? 提前致谢。我感谢您的帮助。 @deporter我已经尝试过您的解决方案,但是它不起作用:( @mKorbel我写的,采取的概念下面的代码,你曾在

  • 问题内容: 我有一个swing应用程序,该应用程序将命令发送到服务器并接收XML格式的结果。我需要通过XSLT将其转换为HTML,然后在面板上显示结果HTML。问题在于,唯一能够显示HTML的Swing组件- JEditorPane- 将URL或javax.swing.text.StyledDocument用作源。带有URL的选项对我不起作用,因为我必须先将html作为文件保存在文件系统中,并且我

  • 我有一个很大的swing应用程序,我想把javafx嵌入其中。我多次尝试这样做(通过遵循oracle教程等),但只有在声明一个新的JFrame以使用JFXPanel组件时才成功。但是,我不想使用新的框架,我想将我的Javafx代码合并到swing应用程序的根JFrame中。 我们可以将javaFX组件嵌入到JPanel而不是JFrame中吗?如果答案是肯定的,为什么我没有成功?

  • 问题内容: 我想在Java swing应用程序中显示一个网页。与使用HTML时类似,但在Java Swing中。这可能吗?如果可以,怎么办? 问题答案: 使用:

  • 问题内容: 我有一个传统的Java swing应用程序(扩展了JFrame并具有一个主类),该应用程序使用JFreeCharts来实现某些图表功能。我最近看过JavaFX,并认为这些图表看上去很新鲜,可以为我的用户带来更好的体验。我希望将JavaFX图表场景嵌入到jInternalFrame中(依次从我的jDesktopPane中调用它)。 我遵循了有关如何创建javafx应用程序和javafx图