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

Java Swing:使用ActionMap

上官和韵
2023-03-14
问题内容

我之前已经看过一篇文章,该文章建议使用Actions而不是listeners。我对ActionMap不太熟悉。每种方法的缺点是什么?我喜欢制作实现侦听器的内部类。这是不好的做法吗?

谢谢


问题答案:

键绑定依赖于动作。潜在的风险是Action“在存储方面,实现往往比典型的实现更昂贵ActionListener”。实际上,不会出现此问题。这是一个例子。

使用KeyListener在概念上更容易理解,但通常更难维护。一个人不可避免地最终会重新创建某种绑定机制。这个例子虽然具有启发性,甚至适合于游戏,但它不必要地复杂。



 类似资料:
  • 我很好奇,在放置组件时,如何使用miglaway在网格上均匀分布组件: 例如,如果我在一个按钮组中放置四个JRadioButton以跨越3行2列(2,3),然后放置三个JButton,则分布的权重是不相等的,我最终会得到以下结果: 如图所示,A和B的大小相同,C保留剩余的空间:我希望A、B、C在垂直方向上等于三分之一。 如果这在GridBagLayout中是可能的,我也可以利用它,但是我在任何一种

  • 当我尝试运行一个新的Swing应用程序时,我遇到了一些重大问题。我使用的是NetBeans 8.1、JDK版本1.8和OS Windows 10。 所以每次我试图打开一个新的Swing项目(不管它是应用项目还是EA),并且我运行它,NetBeans都会正确部署它,但是Swing窗口没有打开,在NetBeans的状态栏中它只是显示正在运行。我等了几分钟,然后我不得不停止构建,因为什么都没发生。当我在

  • 我正在尝试使用JavaSwing为数学方程创建一个GUI。 最初,我开始使用一个简单的余弦函数,并创建了GUI,它工作正常。这是我的余弦函数程序: 这个程序工作正常,我可以在摇摆图形用户界面上得到cos图。 现在我尝试扩展这个程序来支持方程-其中的范围从,并且的值是

  • 我有一个要求,我需要采取我的一些文件的副本,并把它放在内部服务器。这需要定期发生,比如每天晚上8点。这也是一个Swing应用程序,在我的本地PC上运行。我知道我可以使用Java计划任务,或者使用,或者更好的。 但是,问题来了。没有人会仅仅为了这个调度器就让计算机开机24小时。据我所知,如果有人重启电脑,Java调度器也会死掉。相反,一旦任务计划完成,如果计算机已打开,则计划的任务应在每天晚上8点进

  • 我创建了一个摇摆图形用户界面和一个使用JavaFX的图形。我想通过点击摇摆图形用户界面上的按钮来打开图形。我的代码在下面。谢谢你的帮助。 这就是我必须从swing GUI打开FX GUI的内容。 外汇类

  • 我想用JavaSwing创建以下GUI。 由于我对Java Swing没有足够的经验,所以我不确定如何准确地重新创建该GUI。 我尝试过使用GridLayout,如下所示: 我已经尝试过其他的布局管理器,但是由于我缺乏经验,我无法得到任何与我想要实现的图形用户界面相类似的东西。 我可能不得不使用GridBagLayout,但我已经尝试过了,根本无法完成任何事情。我不确定如何确切地使用GridBag

  • 嘿,伙计们,我正在制作这个游戏,我想知道如何在右边制作另一个专栏。你会从视觉上更好地理解: 这就是我现在做的: 但是如果我再加一个按钮,它就会垂直向下。我如何使它水平到中间,这样我就可以使我的井字游戏。 代码:

  • 我正在开发一个swing应用程序(让我们忽略为什么)。 我需要做一个自定义设计的滚动条。到目前为止还不错,我实现了我的ScrollBarUI后代-我有自定义按钮,自定义拇指,自定义轨道...除了按钮周围的区域-我在那里添加了一些填充,我想把我所有的滚动条包装成一个圆角矩形。 由于我在ScrollBarUI中没有找到这样做的方法,我决定扩展JScrollPane(扩展那里使用的ScrollBar,这