Java建立窗口并通过按钮实现窗口跳转

为之前的游戏做了一个菜单的模型

这是菜单类

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Menu extends JFrame implements ActionListener {
    //定义两个按钮
    private JButton Game_Start;
    private JButton Game_Over;
    public Menu(){
        //定义按钮的排列方式
        setLayout(new FlowLayout());

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setSize(300,200);
        this.setLocation(300,400);

        Game_Start = new JButton("开始游戏");
        Game_Over = new JButton("结束游戏");
        this.add(Game_Start);
        this.add(Game_Over);
        Game_Start.addActionListener(this);
        Game_Over.addActionListener(this);

        this.setVisible(true);
    }

    public static void main(String[] args) {
        Menu menu = new Menu();
    }
    /**
     * Invoked when an action occurs.
     *
     * @param e
     */
    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == Game_Start){
            this.dispose();
            new Newframe();
        }
        if(e.getSource() == Game_Over){
            this.dispose();
            System.exit(0);
        }
    }
}

这是新的一个类(模拟我的游戏主类)

import javax.swing.*;

public class Newframe extends JFrame {
    public Newframe(){
        this.setSize(300,200);
        this.setLocation(300,400);
        this.setVisible(true);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

}

演示:
菜单类的成果
当点击按钮开始游戏的时候,会跳转到下一个新的窗口,而点击结束游戏的时候会关闭窗口,并停止运行这个程序。

点击开始游戏之后的新窗口
这个是点击开始游戏之后的新窗口 ↑ ↑ ↑

有什么问题可以指出,谢谢各位观看。

  • 44
    点赞
  • 236
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Java中,实现窗口按钮跳转可以通过以下步骤: 1. 创建多个窗口或面板,每个窗口或面板对应一个界面。 2. 在需要切换界面的按钮的事件处理函数中,使用窗口管理器提供的方法切换到目标窗口或面板。 - 如果是使用Swing框架实现的界面,可以使用CardLayout来管理多个面板,通过调用show方法来切换面板。 - 如果是使用JavaFX框架实现的界面,可以使用Scene和Stage来实现窗口切换,通过设置不同的Scene来切换窗口。 以下是使用Swing框架实现窗口切换的示例代码: ```java import java.awt.CardLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class WindowSwitchDemo { private JFrame frame; private JPanel panel1; private JPanel panel2; private CardLayout cardLayout; public WindowSwitchDemo() { frame = new JFrame("Window Switch Demo"); panel1 = new JPanel(); panel2 = new JPanel(); cardLayout = new CardLayout(); panel1.add(new JButton("Go to Panel 2")).addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.show(frame.getContentPane(), "panel2"); } }); panel2.add(new JButton("Go to Panel 1")).addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.show(frame.getContentPane(), "panel1"); } }); frame.setLayout(cardLayout); frame.getContentPane().add(panel1, "panel1"); frame.getContentPane().add(panel2, "panel2"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new WindowSwitchDemo(); } } ``` 运行代码可以看到,点击 "Go to Panel 2" 按钮可以切换到 Panel 2 界面,点击 "Go to Panel 1" 按钮可以切换回 Panel 1 界面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值