【Java】监听jframe窗口大小改变函数:addComponentListener

简介: 【Java】监听jframe窗口大小改变函数:addComponentListener

问题描述:
  主要用于解决Jframe窗口大小变化时,里面的组件的位置也会自适应的移动。

相当于js里面的窗口大小改变监听函数:

window.onresize = function(){
  //js脚本接口
   }

在java里面应该用的接口是:

//让窗口响应大小改变事件
jframe.addComponentListener(new ComponentAdapter() {
            @Override
            public void componentResized(ComponentEvent e) {
            //这里写代码
            }
        });

【注意】

1,jframe是自定义的JFrame变量名称

2,此接口在main主函数中调用


举个例子,可复制粘贴直接运行:

import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
public class test {
  public static void main(String args[]){
    //创建面板
    JFrame jframe=new JFrame();
    jframe.setBounds(70,20,700,650);
    jframe.setVisible(true);
    //创建按钮
    JButton jb=new JButton("TEST");
    jframe.add(jb);
    jframe.addComponentListener(new ComponentAdapter() {//让窗口响应大小改变事件
            @Override
            public void componentResized(ComponentEvent e) {
              int fraWidth = jframe.getWidth();//获取面板宽度
            int fraHeight = jframe.getHeight();//获取面板高度
                System.out.println("窗口大小改变了~");
                System.out.println(fraHeight);
              jb.setBounds(fraWidth/2,fraHeight/2,100,30);
            }
        });
  }
}

每当窗口大小改变时,该接口计算面板的长宽,然后给组件jb的位置进行重新设计。

相关文章
|
5天前
|
Java 虚拟化 容器
(Java)Java里JFrame窗体的基本操作(容器布局篇-1)
容器 容器,我的理解是可以包容其他东西的玩意。它可以是一个盒子,可以是一个虚拟化的物品,可只要能包裹住其他存在质体的东西,那么都可以称作是容器。例如:JPanel组件和JScollPane组件两者都是容器也是组件。 既然有容器,那么容器中的布局就必不可少了。不然不规矩的摆放物品,人类看不习惯,我也看不习惯 ???? 本篇内容,将说明java JFrame窗体里容器中几类布局。 说明:所有在JFrame窗体里的容器布局都会使用setLayout()方法,采用的布局参数都将放进这个方法里 绝对布局 调用窗体容器
25 1
|
5天前
|
Java 数据安全/隐私保护 索引
(Java)Java里JFrame窗体的基本操作(组件篇-3)
回顾 说过了下拉框和下拉列表,本篇内容将了解滚动面板和各类输入框 什么是组件? 如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入; 另:在使用组件前,请先将窗体中的内容类给实例化出来进行操作,代码如下: Container c = getContentPane(); JScollPane JScollPane类,说的就是滚动面板。它不同于其他组件,它是一个容器,
19 1
|
5天前
|
Java 索引 容器
(Java)Java里JFrame窗体的基本操作(组件篇-2)
回顾 这算是JFrame窗体基本操作的组件第二篇了,上一篇说过了单选框,复选框,按钮。 在这一篇中,我会说明下拉框和列表框 什么是组件? 自行百度:java中JFrame窗体里的组件是什么? 名字都给你想好了 ( :I ) JComBox下拉框 JComBox类,就是下拉框,实例化出来后,要填写泛型<>,添加是什么数据类型的内容,泛型中就写上该数据类型; JComboBox<?> combox = new JComboBox<>(); 以下实例化下拉框的时候我泛型写的全
36 1
|
5天前
|
Java 容器
(Java)Java里JFrame窗体的基础操作(组件-1)
如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,当然这只是在不熟悉组件的前提下。如果深入了解了组件,那么它有着非常多的组件,这些组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入
19 1
|
5天前
|
Java 调度 容器
(Java)JFrame窗体的基本操作(1-窗体的创建)
什么是窗体? 窗体,是某个程序,在电脑中,手机中的窗口化程序。它在非固定状态下,可以自由的变换大小。同时,窗体,也是容器,窗体这个容器可以在内部处理很多的小组件。 窗体的具体例子:例如,所有的浏览器,浏览器中网页里打开的提示框,电脑的QQ,手机上的小窗模式,都是窗体; 在本篇内容中,我们会使用JFrame和JDialog两个类,在实现java中的窗体; 在JAVA中如何创建窗体? 在java中,我们需要引入javax.swing包下的JFrame类或者JDialog类,这样才能使用两个窗体;但是,一些窗
44 0
|
27天前
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
|
9月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
220 33
|
9月前
|
Java 开发者 Spring
java springboot监听事件和处理事件
通过上述步骤,开发者可以在Spring Boot项目中轻松实现事件的发布和监听。事件机制不仅解耦了业务逻辑,还提高了系统的可维护性和扩展性。掌握这一技术,可以显著提升开发效率和代码质量。
309 13
|
9月前
|
Java Spring
Java Spring Boot监听事件和处理事件
通过上述步骤,我们可以在Java Spring Boot应用中实现事件的发布和监听。事件驱动模型可以帮助我们实现组件间的松耦合,提升系统的可维护性和可扩展性。无论是处理业务逻辑还是系统事件,Spring Boot的事件机制都提供了强大的支持和灵活性。希望本文能为您的开发工作提供实用的指导和帮助。
340 15
|
9月前
|
Java 开发者 Spring
Java Springboot监听事件和处理事件
通过这些内容的详细介绍和实例解析,希望能帮助您深入理解Spring Boot中的事件机制,并在实际开发中灵活应用,提高系统的可维护性和扩展性。
416 7

热门文章

最新文章