首页 > 编程语言 >【Java】监听jframe窗口大小改变函数:addComponentListener

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

时间:2023-01-16 18:06:40浏览次数:53  
标签:jframe 窗口 import addComponentListener JFrame new Java public


问题描述:
主要用于解决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的位置进行重新设计。


标签:jframe,窗口,import,addComponentListener,JFrame,new,Java,public
From: https://blog.51cto.com/u_15942590/6010659

相关文章

  • 【Java】Java连接Mysql数据库的demo示例
    【Java】Java连接Mysql数据库的demo示例1.安装mysql数据库2.下载java-mysql-connector.jar包3.完成java配置4.写java代码运行测试1.安装mysql数据库这里不多重复,我主要讲......
  • JavaScript 请求服务端接口
    JavaScript中请求服务端接口的代码实现可能会因为使用的方法而有所不同。1、使用XMLHttpRequest:varxhr=newXMLHttpRequest();xhr.open("GET","https://example.c......
  • Java面向对象程序设计基础知识
    Java面向对象程序设计Java基础语法类(class):类是一个模块,描述一类对象的行为和状态对象:类的一个实例,有状态和行为,例如:一条狗是一个对象,它的状态有:颜色、名字、品种;行......
  • java.3 Java数据类型1
    数据类型讲解Java属于强类型语言即要求变量的使用要严格符合规定,所有变量都必须严格定义以后才能使用优点:安全性高缺点:速度慢(相对而言)Java数据类型分为引用类......
  • 【学懂Java】(三)数组
    一.概述a.数组是相同类型数据的有序集合:相同类型的若干个数据,按照一定先后次序排列组合而成。其中,每一个数据称作一个数组元素每个数组元素可以通过一个下标来访问它们.b......
  • Java控制台摸鱼看书大法
    “本代码由摸鱼本鱼提供”老板:控制台虽然好看,也不能看一整天啊! (因为小说章节不准确,定位章节可能会有偏差,这个只能自己调整了)效果图:    废话不多说,直接上代......
  • JavaScript async/await 的用法以及它与 Promise 的区别
    async/await是JavaScript中的语法糖,用于简化异步代码的编写。它允许你在异步代码中使用同步风格的语法,使代码更易于阅读和维护。用法:使用关键字async声明一个异步......
  • 图片上传报错 java.lang.IllegalArgumentException: image == null!
    记录一次报错java.lang.IllegalArgumentException:image==null!jdk版本:openjdk1.8问题复现:使用  ImageIO.read(newFileInputStream(imgPath)) 进行图片读取时,......
  • 算法学习01—Java底层的正整数与负整数
    算法学习01—Java底层的正整数与负整数本节课学到的知识编写一个方法,打印出int类型数字的二进制长什么样为什么int类型的最大值是2^32-1,最小值是-2^32......
  • JavaBean
      ......