![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182358385-96297736.png)
setBorder(BorderFactory.createLoweredBevelBorder())
设置下凹的感觉;
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182358721-1683843808.png)
(左上角的横坐标,纵坐标,密码框的宽,密码框高)
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182358969-1965816867.png)
拆分布局:
菜单---toolbar---Grid布局
JPanel p1
JPanel p4 包含两个JPanel p2、p3
p2---缩进;
p3---右边显示;卡片布局,点一下就会发生变化;
卡片布局:显示一个,隐藏其他的;
JFrame布局设计(菜单、工具、状态栏:)
整个主界面是BorderLayout,
North是工具栏,
Source是状态栏;
titleIcon=new ImageIcon("image/jiubei.gif");
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182406646-1575539051.png)
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182406966-505248450.png)
一级菜单下面有二级菜单: JMenuItem
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182407335-979141705.png)
Image JMenu JMenuItem
//创建一级菜单
jm1=new JMenu("系统管理");
//创建一级二级菜单JMenu/JMenuItem,代码结构:就近原则
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182407710-1546711643.png)
//把一级菜单加入到JMemuBar
//二级菜单放进一级菜单里面
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182408586-2041251664.png)
//把JMenuBar添加到JFrame
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182409630-1749052121.png)
//字体类
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182410875-268823619.png)
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182411269-271144649.png)
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182411647-2063245292.png)
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182412070-1473183420.png)
ImageIcon jmm1_icon1 代表二级菜单下的第一个图标
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182412858-2131022516.png)
Image Preview 预览
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182413567-801544134.png)
![](https://img2018.cnblogs.com/blog/1167156/201811/1167156-20181130182414302-1212493976.png)