如何分析Swing Set示例?针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的朋友找到更简单易行的方法。
Swing Toolkit提供了创建用户界面的各种工具,以及在程序生命周期中修改界面的几乎令人眼花缭乱的选项。谨慎使用这些功能可以使界面适应用户的需求,简化交互过程。不小心使用相同的功能会导致非常混乱或完全无法使用的程序。您将基于Sun JDK提供的Swing Set修改示例应用程序的源代码;这个应用程序的用户界面使用了许多动态特性,可以成为理解它们的一个很好的起点。
禁用小部件
动态用户界面最简单的形式是使不可用的菜单项或按钮变灰的用户界面。禁用UI小部件与禁用所有小部件相同。SetEnabled()函数是组件类的一个函数。清单1显示了禁用按钮的代码:
清单1。禁用按钮
button . setenabled(false);如你所见,这很简单。关键问题是什么时候应该启用或禁用一个按钮。的通常设计决策是在按钮不可用时将其禁用。例如,当文件自上次保存后没有被修改时,许多程序会禁用“保存”按钮(以及任何相应的菜单项)。
关于禁用按钮的一个重要警告是,记得在适当的时候重新启用它们。例如,如果在点击按钮和完成按钮操作之间有确认步骤,即使确认失败,也应该重新启用按钮。
调整范围
有时,应用程序需要动态调整数字小部件的范围,如微调器或滑块。这可能比看起来要复杂得多。特别是Slider有——刻度、刻度间隔、标签——等辅助功能,可能需要随着范围的调整进行调整,避免灾难发生。
“摇摆集”示例没有进行任何调整,因此您需要通过将“变化侦听器”连接到可以修改其他滑块的滑块来修改它。输入新的SliderChangeListener类,如清单2所示:
清单2。更改滑块的范围
class sliderchangelistereimplementchanglistener { jslider;sliderchaangelistener(JSliderh){ this . h=h;} publicationstatechanged(changeeventee){ JSliderjs=(JSlider)e . getsource();inti=js . GetVaLue();h . setMaximum(I);h . repaint();}}}}这个看似毫无意义的操作,其实起到了很大的作用。只要设置了标签表,就会生成滑块的标签。为了修改对表的特殊回调,添加到表中的新值不必有效;显然,空操作的副作用是让Swing知道它必须更新显示。(如果你认为这是我自己发明的,请注意,原来的Swing Set示例代码中包含了这样一个调用。)
这里将分享关于如何分析Swing Set示例的问题的答案。我希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/152037.html