java swing 怎么实现点击按钮或者某个组件,跳转到另一个页面或者窗体?

1、利用监听器,

2、销毁当前的页面 

jf.dispose();

3、打开一个新的页面

new FirstPage().firtPage();

完整代码如下:

第一个页面

package cn.com.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.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class IndexPage {
	/*
	 * author:命运的信徒 date:2019/1/19 arm:熟悉swing布局
	 */
	static JFrame jf = new JFrame("矿井管理系统");
	private static void firtPage() {
		// 1.设置窗体大小和标题
		
		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);
		// 以下是显示位移的地方
		// 放置图片
		JLabel jl3 = new JLabel(new ImageIcon("WebRoot/img/hd.PNG"));
		jf.add(jl3);
		jl3.setBounds(0, 80, 700, 600);
		//开始监听事件
		jm.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				//销毁当前页面
				closeThis();
				//打开一个新的页面
				new FirstPage().firtPage();
			}
		});
		// 3.设置窗体可见
		jf.pack();
		jf.setVisible(true);
	}
	public static void closeThis(){
		jf.dispose();
		}
	public static void main(String[] args) {
		firtPage();
	}
}

 

第二个页面

package cn.com.swing;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class FirstPage {
/*author:命运的信徒
 * arm:程序的初始页面
 * date:2019/1/19
 */
	public static void firtPage(){
		//1.设置窗体大小和标题
		JFrame 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);
		//以下是显示位移的地方
		JLabel jl1=new JLabel("平硐位移");
		jl1.setFont(new Font("宋体", Font.BOLD, 20));
		jf.add(jl1);
		jl1.setBounds(130, 100, 100, 30);
		
		JLabel jl2=new JLabel("6.1230mm");
		jl2.setFont(new Font("宋体", Font.BOLD, 20));
		jf.add(jl2);
		jl2.setBounds(230, 100, 100, 30);
		//放置图片
		JLabel jl3=new JLabel(new ImageIcon("WebRoot/img/sight1.png"));
		jf.add(jl3);
		jl3.setBounds(0, 150, 700, 500);
		//3.设置窗体可见
		jf.pack();
		jf.setVisible(true);
	}
	public static void main(String[] args) {
		firtPage();
	}
}

如果觉得能帮助到你,可以对我的脑力劳动进行奖励,你的奖励是我创作的动力 

  • 51
    点赞
  • 310
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
Java中,通常会使用GUI框架(如SwingJavaFX等)来实现图形界面。假设你使用的是Swing,以下是一个简单的示例代码,演示如何点击一个按钮跳转到下一个页面: ```java import javax.swing.*; import java.awt.event.*; public class ButtonDemo extends JFrame { private JButton button; // 定义按钮对象 public ButtonDemo() { super("Button Demo"); // 设置窗口标题 setSize(300, 200); // 设置窗口大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作 // 创建按钮并设置监听事件 button = new JButton("Next Page"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 创建下一个页面并显示 NextPage nextPage = new NextPage(); nextPage.setVisible(true); // 隐藏当前页面 setVisible(false); } }); // 将按钮添加到窗口中 JPanel panel = new JPanel(); panel.add(button); setContentPane(panel); } public static void main(String[] args) { // 创建并显示窗口 ButtonDemo buttonDemo = new ButtonDemo(); buttonDemo.setVisible(true); } } // 下一个页面 class NextPage extends JFrame { public NextPage() { super("Next Page"); setSize(300, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("This is the next page."); JPanel panel = new JPanel(); panel.add(label); setContentPane(panel); } } ``` 在上述代码中,我们首先创建了一个`JButton`对象,并为其添加了一个`ActionListener`监听器,用于监听按钮点击事件。在监听器中,我们创建了下一个页面`NextPage`,并将其设置为可见状态,同时将当前页面设置为不可见状态,实现页面跳转

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_37591637

请给我持续更新的动力~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值