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设计模式之代理模式原理及实现代码分享,设计代理模式的定义,静态代理,动态代理,jdk动态代理实现步骤,原理及源码等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • SpringMVC使用注解实现登录功能

    SpringMVC使用注解实现登录功能

    这篇文章主要为大家详细介绍了SpringMVC使用注解实现登录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • springboot实现公众号接收回复消息和超过5秒被动回复消息

    springboot实现公众号接收回复消息和超过5秒被动回复消息

    本文主要介绍了springboot实现公众号接收回复消息和超过5秒被动回复消息,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • SpringMVC实现账号只能在一处登陆

    SpringMVC实现账号只能在一处登陆

    这篇文章主要为大家详细介绍了SpringMVC如何实现账号只能在一处登陆,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Java多线程之悲观锁与乐观锁

    Java多线程之悲观锁与乐观锁

    这篇文章主要为大家详细介绍了Java悲观锁与乐观锁,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Spring Boot Test详解

    Spring Boot Test详解

    Spring Test与JUnit等其他测试框架结合起来,提供了便捷高效的测试手段,而Spring Boot Test 是在Spring Test之上的再次封装,增加了切片测试,增强了mock能力,这篇文章主要介绍了Spring Boot Test介绍,需要的朋友可以参考下
    2024-02-02
  • 通过Maven进行jedis连接redis的实现

    通过Maven进行jedis连接redis的实现

    这篇文章主要介绍了通过Maven进行jedis连接redis的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Java实现的模糊匹配某文件夹下的文件并删除功能示例

    Java实现的模糊匹配某文件夹下的文件并删除功能示例

    这篇文章主要介绍了Java实现的模糊匹配某文件夹下的文件并删除功能,涉及java针对目录与文件的遍历、匹配、判断、删除等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Java一致性Hash算法的实现详解

    Java一致性Hash算法的实现详解

    这篇文章主要介绍了Java一致性Hash算法的实现详解,hash的意思是散列,目的将一组输入的数据均匀的分开、打散,往往用来配合路由算法做负载均衡,多用在分布式系统中,需要的朋友可以参考下
    2024-01-01
  • Java中引用类型class的用法总结

    Java中引用类型class的用法总结

    这篇文章主要为大家详细介绍了Java中引用类型class的用法的相关资料,文中的示例代码讲解详细,对我们学习Java有一定帮助,感兴趣的可以了解一下
    2022-10-10

最新评论