java的GUI实现简单切换界面

 更新时间:2022年04月26日 12:01:32   作者:qq_43919694  
这篇文章主要为大家详细介绍了java的GUI实现简单切换界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java GUI实现简单切换界面的具体代码,供大家参考,具体内容如下

1.关于java的GUI简单切换界面

在刚开始学习java的gui界面设计的时候因为课本上没有相关切换界面的介绍,所以如何进行简单的一个界面切换困扰了我很久。因此我上网看了一些代码,却发现网上的大多数代码都很繁琐,仔细看下去感觉有许多冗余,虽然那些代码达到了切换界面的目的,但也有其它一些我暂时用不上的功能。
简而言之,就是网上这部分的代码不够精简。于是我开始单单把这一简单的功能剥离出来。废话不多说还是先上代码吧,想说的话都在注释里。 视图部分代码:

import java.awt.BorderLayout;
import javax.swing.*;

public class View extends JFrame {
    public void view()
    {
        ViewAction exwpAction=new ViewAction(this);//提前定义好动作对象
        setLayout(new BorderLayout());//使用BorderLayout布局
        setSize(400,400);//设置界面大小
        this.setTitle("视图1界面");//设置界面名称
        JButton eb=new JButton("视图2");//设置切换的按钮eb
        JLabel tip_l=new JLabel("视图1",0);//界面的内容,这里用一个标签来替代具体内容,后面的“0”是为了使这个标签居中对齐
        eb.addActionListener(exwpAction);//为eb这个按钮添加按键监听
        add(tip_l, BorderLayout.CENTER);//将tip_l这个标签添加到布局的中间
        add(eb, BorderLayout.SOUTH);//将按钮eb添加到布局的下方
        setVisible(true);//使视图可视化
    }
    public void view2()
    {
        ViewAction exwpAction=new ViewAction(this);
        setLayout(new BorderLayout());
        setSize(400,400);
        this.setTitle("视图2界面");
        JButton eb=new JButton("视图1");
        JLabel tip_l=new JLabel("视图2",0);
        eb.addActionListener(exwpAction);
        add(tip_l, BorderLayout.CENTER);
        add(eb, BorderLayout.SOUTH);
        setVisible(true);
    }

}

动作部分代码:

import java.awt.event.ActionEvent;

public class ViewAction implements java.awt.event.ActionListener {
    /*
     * 这一部分是因为我把界面和动作分开成两个类来写了才需要进行对象的传递如果动作和界面在一个对象中写的话就不需要传入对象了
     */
    View v=new View();//先定义一个View对象在切换界面的时候会使用到
    public ViewAction(View v)//将外界的View对象传入这个类里 
    {
        this.v=v;
    }
    public void actionPerformed(ActionEvent event)
    {
    Object object=event.getSource();//创建事件源对象
    switch(event.getActionCommand()){
    //如果按下视图1
    case "视图1":
        //这里之所以先创建新视图再关闭旧视图是因为反过来的话我们会发现延迟看上去会有一些难受
        new View().view();//new一个View类并调用里面的view函数
        v.setVisible(false);//关闭穿进来的那个类的视图
        break;
    //如果按下视图2
    case "视图2":
        new View().view2();
        v.setVisible(false);
        }
    }

}

主类部分代码:

public class Main {
    public static void main(String[] args) {
        View v=new View();
        v.view();
    }

}

运行效果:

运行主类后:

点击视图2后

点击视图1后

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • Java异常继承结构解析_动力节点Java学院整理

    Java异常继承结构解析_动力节点Java学院整理

    这篇文章主要介绍了Java异常继承结构解析的相关知识,需要的朋友可以参考下
    2017-04-04
  • Java面向接口编程之命令模式实例详解

    Java面向接口编程之命令模式实例详解

    这篇文章主要介绍了Java面向接口编程之命令模式,结合实例形式详细分析了Java面向接口编程命令模式的定义、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • 大数据 java hive udf函数的示例代码(手机号码脱敏)

    大数据 java hive udf函数的示例代码(手机号码脱敏)

    这篇文章主要介绍了大数据 java hive udf函数(手机号码脱敏),的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Springcloud hystrix服务熔断和dashboard如何实现

    Springcloud hystrix服务熔断和dashboard如何实现

    这篇文章主要介绍了Springcloud hystrix服务熔断和dashboard如何实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • 为什么不建议使用Java自定义Object作为HashMap的key

    为什么不建议使用Java自定义Object作为HashMap的key

    这篇文章主要介绍了为什么不建议使用Java自定义Object作为HashMap的key,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-06-06
  • Java8新特性Optional类及新时间日期API示例详解

    Java8新特性Optional类及新时间日期API示例详解

    这篇文章主要为大家介绍了Java8新特性Optional类及新时间日期API示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 简单了解java等待唤醒机制原理及使用

    简单了解java等待唤醒机制原理及使用

    这篇文章主要介绍了简单了解java等待唤醒机制原理及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • maven导入本地jar包的三种方式

    maven导入本地jar包的三种方式

    本文主要介绍了maven导入本地jar包的三种方式, 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • Spring的DI依赖注入详解

    Spring的DI依赖注入详解

    这篇文章主要为大家介绍了Spring的DI依赖注入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 如何加密配置文件里的敏感数据

    如何加密配置文件里的敏感数据

    这篇文章主要介绍了加密配置文件里的敏感数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论