java swing 设计心得1 --窗体和面板
swing有很多组件 ,这节主要先讲 Frame ,Panel,Dialog等容器组件用法和区别,其他组件后续讲
一 首先你必须先画出所有界面demo
可以用纸张,也可以用ps,也可以用rp 表达自己对用户需求的理解 反复确认需求后定稿 demo
二 根据demo 先进行最外层窗体设计
一般先设计主框架 用JFrame
三 分析页面关系和页面内部组件关系
所有页面嵌套和依赖关系 用树状图表达清楚 所有页面内部的组件嵌套关系 用树状图表达清楚
四 使用JPanel做每个页面的主背板
-
用JPanel设计 各个功能模块界面 不要使用其他控件做主背板, JPanel 够用了 ,类似于html 的div. 如果项目较大页面较多 可以考虑在JPanel外面包裹一层 一般用 JInternalFrame, JDialog,JTabbedPane,JLayeredPane JInternalFrame 用于mdi模式 子框架模式 ,主要配合JDesktopPane使用 JDialog 主要用于弹出场景 一般不用JFrame 因为 弹出窗体, 比较难操作原窗口内的控件和变量 JFrame 虽然可以置顶,但主要用途不在于界面设计 而主要作为jpanel的容器使用
四 面板布局的关键----“嵌套”
五 布局
六 其他容器的用法
-
包含子模块的容器,并进行切换: JTabbedPane 主要用于切换子模块 JLayeredPane 主要用于弹出+切换子模块 包含子模块的容器,并进行分割摆放: JSplitpane 有一对左右或者上下分隔的Panel,而且两边的宽度或者高度可以调整 包含子组件的容器: JScrollPane 当内容太长太宽时 ,实现垂直和水平滚动显示 JToolBar 主要放置工具按钮和标签等 JScrollbar 建议摆放同大小的组件,数量超出最大宽度和高度后,可以自动滚动
