java swing 跳转窗口_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();

}

}

  • 4
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以通过创建多个窗口对象来实现一个窗口跳转到另一个窗口。 首先,需要在第一个窗口中创建一个按钮或其他触发事件的组件,并为其添加一个监听器。在监听器的事件处理方法中,创建第二个窗口对象并显示出来,同时隐藏第一个窗口对象,即可实现从第一个窗口跳转到第二个窗口。 以下是一个简单的示例代码,演示如何实现两个窗口之间的跳转: ``` import javax.swing.*; import java.awt.*; import java.awt.event.*; public class WindowJumpDemo { public static void main(String[] args) { JFrame frame1 = new JFrame("窗口1"); JFrame frame2 = new JFrame("窗口2"); // 窗口1中添加一个按钮 JButton button = new JButton("跳转窗口2"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 创建窗口2并显示出来 frame2.setVisible(true); // 隐藏窗口1 frame1.setVisible(false); } }); frame1.add(button); // 窗口2中添加一个标签 JLabel label = new JLabel("欢迎来到窗口2"); frame2.add(label); // 设置窗口大小和位置 frame1.setSize(300, 200); frame2.setSize(300, 200); frame1.setLocationRelativeTo(null); frame2.setLocationRelativeTo(null); // 设置窗口关闭操作 frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 显示窗口1 frame1.setVisible(true); } } ``` 在上面的示例中,创建了两个窗口对象`frame1`和`frame2`,并在窗口1中添加一个按钮,窗口2中添加一个标签。在按钮的事件处理方法中,创建窗口2并显示出来,同时隐藏窗口1。最后,设置了窗口的大小和位置,以及关闭操作,并将窗口1显示出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值