服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java的GUI实现简单切换界面

java的GUI实现简单切换界面

2022-11-23 11:15qq_43919694 Java教程

这篇文章主要为大家详细介绍了java的GUI实现简单切换界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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);
    }
 
}

动作部分代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
        }
    }
 
}

主类部分代码:

?
1
2
3
4
5
6
7
public class Main {
    public static void main(String[] args) {
        View v=new View();
        v.view();
    }
 
}

运行效果:

运行主类后:

java的GUI实现简单切换界面

点击视图2后

java的GUI实现简单切换界面

点击视图1后

java的GUI实现简单切换界面

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

原文链接:https://blog.csdn.net/qq_43919694/article/details/88828453

延伸 · 阅读

精彩推荐
  • Java教程java基础--JDK SPI概述

    java基础--JDK SPI概述

    SPI是一种服务发现机制,本文就SPI做了详细概述,具有很好的参考价值,希望对小伙伴们有所帮助,感兴趣的朋友一起来参考参考吧...

    五月的仓颉7502021-11-29
  • Java教程SpringBoot项目打成War布署在Tomcat的详细步骤

    SpringBoot项目打成War布署在Tomcat的详细步骤

    这篇文章主要介绍了SpringBoot项目打成War布署在Tomcat,本文分步骤结合图文实例给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要...

    qq_410844385002022-09-21
  • Java教程springboot实现通过路径从磁盘直接读取图片

    springboot实现通过路径从磁盘直接读取图片

    这篇文章主要介绍了springboot实现通过路径从磁盘直接读取图片,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    零落尘土5162022-10-09
  • Java教程Java 常量字符串过长的解决方法

    Java 常量字符串过长的解决方法

    这篇文章主要介绍了Java 常量字符串过长的解决方法,常量字符串过长会提示报错,下面我们就一起来了解一下解决方法...

    Aries_Li10732021-09-06
  • Java教程浅析JAVA 循环结构

    浅析JAVA 循环结构

    这篇文章主要介绍了JAVA 循环结构的相关资料,文中讲解的非常细致,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...

    菜鸟教程4612020-07-19
  • Java教程Spring AOP如何整合redis(注解方式)实现缓存统一管理详解

    Spring AOP如何整合redis(注解方式)实现缓存统一管理详解

    这篇文章主要给大家介绍了关于Spring AOP如何整合redis(注解方式)实现缓存统一管理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考...

    豆芽菜橙12332021-05-23
  • Java教程Java图像处理工具类

    Java图像处理工具类

    这里给大家分享了一个java常用的图像处理工具类,包含缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等,有需要的小伙伴参考下...

    hebedich2912019-12-09
  • Java教程java基础之Collection与Collections和Array与Arrays的区别

    java基础之Collection与Collections和Array与Arrays的区别

    这篇文章主要介绍了java基础之Collection与Collections和Array与Arrays的区别的相关资料,本文主要说明两者的区别以防大家混淆概念,需要的朋友可以参考下...

    lucherr1722020-12-18