JSwing2高级设计详解
jswing2 的设计内容是给玩 Swing 玩得比较熟的同学看的,主要聚焦在一些更高级的特性和常用的设计套路。你如果是刚开始接触 Swing,也能看得懂,里面有挺多代码例子,边看边改,理解得会更快。
组件的继承结构比较清晰,几乎所有可视元素都是JComponent
的孩子,比如JButton
、JTextField
这些,想做啥直接找对应的类就行。组件该怎么布局?靠布局管理器,常见的像BorderLayout
、FlowLayout
、BoxLayout
,灵活一点还能用GroupLayout
画出复杂的 UI。
事件监听是另一个重点,UI 交互基本靠它。给按钮加ActionListener
、鼠标事件用MouseListener
,监听起来挺直观的,回调函数里写逻辑就好。MVC 模式也有体现,比如JTable
就挺典型,数据模型和展示分开写,扩展性不错。
对话框和菜单栏的支持也挺完善,JOptionPane
能搞定各种消息提示,JMenuBar
配合JMenu
、JMenuItem
能搭出完整菜单系统。再加上JToolBar
的工具栏,一整套都齐活了。
定制组件的方式也灵活,继承JComponent
后重写paintComponent()
,画出你想要的样子。想让你的应用支持多语言?国际化也有方案,ResourceBundle
搞定。
SwingUtilities这个工具类也别忽略,尤其是invokeLater()
,写界面更新代码时少不了它。别忘了试试Nimbus这个外观,比默认的 Metal 好看多了,样式也统一。
如果你对 Swing 还挺感兴趣,又想写点实用小工具或者桌面程序,jswing2 的这些代码拿来练手还挺合适的,改一改跑起来效果马上就能看到。
推荐你顺手看看这篇相关的:Java 设计模式,设计模式在 Swing 里用得还真不少。
评论区