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 建议摆放同大小的组件,数量超出最大宽度和高度后,可以自动滚动
经验分享 程序员 微信小程序 职场和发展