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 里用得还真不少。
评论区