1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java swing 菜单栏怎么实现窗体切换

java swing 菜单栏怎么实现窗体切换

时间:2018-08-03 19:31:10

相关推荐

java swing 菜单栏怎么实现窗体切换

使用的条件

1、这两个窗体有公共的部分,如菜单栏

2、点击的是公共部分(菜单栏)中的部分如菜单项

两个窗体的效果如下

黄色勾勒的部分是两个窗体的公共部分

操作:点击绞车房窗体里面菜单栏中平硐位移-卷扬室,就会跳转到平硐窗体,之前的绞车房窗体就销毁了,看不见了!

绞车房窗体

平硐窗体

实现代码如下

公共部分代码

package .swing;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;public class CommonPart {/** author:命运的信徒 date:/1/21 arm:swing公共的部分代码放在这里,以便于维护*/public static JFrame common(final JFrame jf) {// 1.设置窗体大小和标题/*jf = new JFrame("矿井管理系统");*/jf.setPreferredSize(new Dimension(700, 700));// 2.设置关闭窗口就是关闭程序jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 最精准的布局模式空布局jf.setLayout(null);// 设置定位JLabel jl = new JLabel("矿井平硐位移监测系统", JLabel.CENTER);jl.setPreferredSize(new Dimension(680, 30));jf.add(jl);jl.setBounds(0, 0, 690, 30);jl.setFont(new Font("宋体", Font.BOLD, 24));jl.setForeground(Color.decode("#375a7f"));// 菜单栏// 新建一个菜单条JMenuBar jb = new JMenuBar();jf.add(jb);jb.setBounds(0, 40, 690, 30);jb.setBackground(Color.decode("#65991a"));// 新建一个菜单选项JMenu jmenu = new JMenu("首页");jmenu.setPreferredSize(new Dimension(100, 30));jmenu.setForeground(Color.white);jb.add(jmenu);// 新建一个菜单项JMenu jmenu0 = new JMenu("平硐位移");jmenu0.setPreferredSize(new Dimension(100, 30));jmenu0.setForeground(Color.white);jmenu.setPreferredSize(new Dimension(100, 30));jmenu.setForeground(Color.white);jb.add(jmenu0);// 新建一个菜单项JMenuItem jm = new JMenuItem("卷扬室");JMenuItem jmi = new JMenuItem("配电室");JMenuItem jmi0 = new JMenuItem("平硐");JMenuItem jmi1 = new JMenuItem("-240米");JMenuItem jmi2 = new JMenuItem("-290米以上水平");JMenuItem jmi3 = new JMenuItem("-290米水仓");jmenu0.add(jm);jmenu0.add(jmi);jmenu0.add(jmi0);jmenu0.add(jmi1);jmenu0.add(jmi2);jmenu0.add(jmi3);// 新建一个菜单选项JMenu jmenu1 = new JMenu("更多");jmenu1.setForeground(Color.white);jmenu1.setPreferredSize(new Dimension(100, 30));jb.add(jmenu1);// 新建一个菜单项JMenuItem jm0 = new JMenuItem("退出程序");JMenuItem jm1 = new JMenuItem("技术教程");jmenu1.add(jm0);jmenu1.add(jm1);// 新建一个菜单选项JMenu jmenu2 = new JMenu("报警参数设置");jb.add(jmenu2);jmenu2.setForeground(Color.white);jmenu2.setPreferredSize(new Dimension(100, 30));JMenuItem jmit0 = new JMenuItem("测试");jmenu2.add(jmit0);// 卷扬室连接// 开始监听事件jm.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jf.dispose();// 打开一个新的页面new FirstPage().firtPage();}});// 技术参数设置jmit0.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {jf.dispose();// 打开一个新的页面new Parampage().param();}});// 3.设置窗体可见jf.pack();jf.setVisible(true);return jf;}}

绞车房窗体代码

package .swing;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;public class IndexPage {/** author:命运的信徒 date:/1/19 arm:熟悉swing布局*/public static JFrame firtPage() {// 以下是显示位移的地方JFrame jf=new JFrame("绞车房");mon(jf);// 放置图片JLabel jl3 = new JLabel(new ImageIcon("WebRoot/img/hd.PNG"));jf.add(jl3);jl3.setBounds(0, 80, 700, 600);return jf;}public static void main(String[] args) {//运行程序firtPage();}}

平硐窗体代码

package .swing;import java.awt.Font;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import .crud.SelectData;public class FirstPage {/** author:命运的信徒 arm:程序的初始页面 date:/1/19*/static JFrame jf=null;public static void firtPage() {jf=new JFrame("平硐");jf=mon(jf);//面板// 以下是显示位移的地方JLabel jl1 = new JLabel("平硐位移");jl1.setFont(new Font("宋体", Font.BOLD, 20));jf.add(jl1);jl1.setBounds(130, 100, 100, 30);// 查询数据库SelectData sl = new SelectData();String vy = sl.selectInfo("3");JLabel jl2 = new JLabel(vy);jl2.setFont(new Font("宋体", Font.BOLD, 20));jf.add(jl2);jl2.setBounds(230, 100,300, 30);// 放置图片JLabel jl3 = new JLabel(new ImageIcon("WebRoot/img/sight1.png"));jf.add(jl3);jl3.setBounds(0, 150, 700, 500);}public static void main(String[] args) {firtPage();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。