java组件自适应窗口大小_java swing 窗口和控件自适应大小

本文记录java开发CS结构时怎么自适应屏幕大小以及控件跟随frame大小变化大小、位置和字体大小

需要注意:

1、代码必须放置在其构造方法中。如:我的frame1是我frame.java的名,则代码放置在方法“public Frame1() ”中。

2、放在控件初始化后的地方。

frame.java中Frame1() 方法中的代码:

//自动化页面大小--全屏

int fraWidth = this.getWidth();//frame的宽

int fraHeight = this.getHeight();//frame的高

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

int screenWidth = screenSize.width;

int screenHeight = screenSize.height;

this.setSize(screenWidth, screenHeight);

this.setLocation(0, 0);

float proportionW = screenWidth/fraWidth;

float proportionH = screenHeight/fraHeight;

FrameShow.modifyComponentSize(this, proportionW,proportionH);

this.toFront();

FrameShow.java中的modifyComponentSize(JFrame frame,float proportionW,float proportionH)方法

/**

* frame中的控件自适应frame大小:改变大小位置和字体

* @param frame 要控制的窗体

* @param proportion 当前和原始的比例

*/

public static void modifyComponentSize(JFrame frame,float proportionW,float proportionH){

try

{

Component[] components = frame.getRootPane().getContentPane().getComponents();

for(Component co:components)

{

//String a = co.getClass().getName();//获取类型名称

//if(a.equals("javax.swing.JLabel"))

//{

//}

float locX = co.getX() * proportionW;

float locY = co.getY() * proportionH;

float width = co.getWidth() * proportionW;

float height = co.getHeight() * proportionH;

co.setLocation((int)locX, (int)locY);

co.setSize((int)width, (int)height);

int size = (int)(co.getFont().getSize() * proportionH);

Font font = new Font(co.getFont().getFontName(), co.getFont().getStyle(), size);

co.setFont(font);

}

}

catch (Exception e)

{

// TODO: handle exception

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指offer--二维数组的查找

记录《剑指offer》上的算法题。完整的代码例子可以在我的Github 题目:在一个二维数组中,每一行按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排。请完成一个函数,输入这样的一个二维数组和一个整数,判断…

仙元天下试玩感受

仙元天下是安讯网洛旗下的游戏,在官网注册账号的时候就遇到了问题,注册页面无法打开,服务器网址错误,只有返回到官网首页进行快捷注册。 画面2D,有自动打怪,画面感一般,反应比较迟钝&#xff0c…

剑指offer--替换空格

记录《剑指offer》上的算法题。完整的代码例子可以在我的Github。 这是一道有关字符串的问题。首先在C/C中,会把常量字符串放到单独的一个内存区域中,当几个指针赋值给相同的常量字符串时,它们实际上会指向相同的内存地址;但如果…

java打开word文件名乱码怎么解决_Word文档乱码怎么办?解决Word文档乱码的几种常见方法...

最近Word经常出现问题,双击打开后就弹出“文件转换”的对话框,让选择装载此文件时要使用的编码,选择了简体中文,打开文档后还是乱码,遇到这种情况我们应该怎么办呢?解决方法一:把原来的文档另存为*.rtf格式…

剑指offer--从尾到头打印链表

记录来自《剑指offer》的算法题目 链表应该是面试时被提及最频繁的数据结构,它的结构简单,由若干个结点连接成链状结构,其创建、插入结点、删除结点等操作都只需要20行左右的代码就能实现,其代码量比较适合面试。 假设单链表的结…

java序列化表单同步请求_Ajax serialize() 表单进行序列化方式上传文件

通过传统的 form 表单提交的方式上传文件上传文件:不过传统的 form 表单提交会导致页面刷新,但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用 Ajax 的方式进行请求的。使用 serialize() 对 form 表单进行序列化提交$…

Linux下Nginx的安装和简单管理

nginx下载 http://nginx.org/download/ http://www.2cto.com/os/201206/136381.html转载于:https://www.cnblogs.com/jphp/archive/2013/04/01/2993403.html

谈 数学之美 和 看见

两本书本来是没有什么交集的。 而对于我而言,交集可能是我最近这两本书都买了。闲暇的时间还是会翻一翻的。看见这本书是今天中午到的。发现现在的当当比以前在书的保养上比以前好像好了一点。几本书都是给包住了,防止弄坏了拐角。 两本书我都很喜欢,今天到的书也是立刻就读了起…

剑指offer--用两个栈实现队列

记录《剑指offer》上的算法题。 题目描述如下: 用两个栈实现一个队列,队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 队列的声明如下: templat…

剑指offer--旋转数组的最小数字

记录来自《剑指offer》上的算法题。 题目描述如下: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个选择,输出旋转数组的最小元素。例如数组{3,4,5,1,2}是{1,2,3,4,5}的一个旋转&#xff0…

python 合并excel 自动更新_手把手教你4种方法用Python批量实现多Excel多Sheet合并

一、前言大家好,我是崔艳飞。前两天给大家分享了Python自动化文章:手把手教你利用Python轻松拆分Excel为多个CSV文件,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Excel表格,他需要对这些Excel文件进行合…

jQuery布局插件UI Layout简介

UI Layout是一种基于jQuery的布局框架,项目主页http://layout.jquery-dev.net/。该框架的参考原型是ExtJS的border-layout,因此十分适用于将原有使用ExtJS的项目改造成jQuery项目。其核心是一个大小自适应的中心面板(必选)&#x…

淘到了一个不错的TF卡读卡器

最近换手机的时候一时冲动败了个32G的TF卡。买后又觉得手机存储空间还比较充裕,暂时用不上,便打算套个读卡器当U盘用。最开始我用的是以前买手机的时候送的一个读卡器,但其兼容性很差,在以前的那个8G的卡里还能勉强用用&#xff0…