public class TestResize{

public static void main(String args[]){

JFrame jf=new JFrame("test");

jf.setBounds(100,100,200,300);

JPanel jp=new JPanel();

jp.setLayout(null); //此处为关键点,不能有任何布局管理器

JButton btn=new JButton("开始");

btn.setBounds(100, 100, 100, 50);

jp.add(btn);

JLabel label=new JLabel("daicy");

label.setBounds(5, 5, 100, 50);

label.setBorder(BorderFactory.createLineBorder(Color.red, 3));

jp.add(label);

jf.add(jp);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ComponentResize.reSetSize(jf);

}

}

import java.awt.Component;

import java.awt.Container;

import java.awt.Font;

import java.awt.Image;

import java.awt.Rectangle;

import java.awt.image.ImageObserver;

import javax.swing.ImageIcon;

import javax.swing.JComponent;

import javax.swing.JLabel;

public class ComponentResize {

public static double PERCENT = 0.5;

public static int getRealValue(int value){

return (int) (value * PERCENT);

}

public static Rectangle getRealValue(Rectangle value){

value.x = (int) (value.x * PERCENT);

value.y = (int) (value.y * PERCENT);

value.height = (int) (value.height * PERCENT);

value.width = (int) (value.width * PERCENT);

return value;

}

public static Rectangle getRealValue(int x, int y, int width, int height) {

Rectangle rectangle = new Rectangle();

rectangle.x = (int) (x * PERCENT);

rectangle.y = (int) (y * PERCENT);

rectangle.height = (int) (height * PERCENT);

rectangle.width = (int) (width * PERCENT);

return rectangle;

}

public static void reSetSize(Container container){

container.setBounds(ComponentResize.getRealValue(container.getBounds()));

Component[] components = container.getComponents();

for (int i = 0; i < components.length; i++) {

if(components[i] instanceof JComponent){

reSetSizeFont((JComponent) components[i]);

}

if (components[i] instanceof JLabel){

reSetSizeJLabel((JLabel)components[i]);

}else if (components[i] instanceof Container){

reSetSize((Container)components[i]);

}else if (components[i] instanceof Component){

components[i].setBounds(ComponentResize.getRealValue(components[i].getBounds()));

}

}

}

public static void reSetSizeFont(JComponent jComponent){

jComponent.setFont(reSetSizeFont(jComponent.getFont()));

}

public static void reSetSizeJLabel(JLabel jLabel){

reSetSize(jLabel);

if(jLabel.getIcon() instanceof ImageIcon){

ImageIcon icon = (ImageIcon) jLabel.getIcon();

Image image = icon.getImage();

icon.setImage(reSetSizeImage(image,icon.getImageObserver()));

}

}

public static Image reSetSizeImage(Image image,ImageObserver obs){

return image = image.getScaledInstance(

(int)(image.getWidth(obs)*PERCENT), (int)(image.getHeight(obs)*PERCENT), Image.SCALE_DEFAULT);

}

public static Font reSetSizeFont(Font defaultfont){

return new Font(defaultfont.getName(),defaultfont.getStyle(),(int)(defaultfont.getSize()*PERCENT));

}

}

目前只总结了这些,希望大家添加更多的组件。

或者提供更好的方法。

java禁止放大_java 所有组件缩放、放大相关推荐

  1. java监控任务进度_Java Swing组件实现进度监视功能示例

    本文实例讲述了java swing组件实现进度监视功能.分享给大家供大家参考,具体如下: 实例一: import java.awt.event.actionevent; import java.awt ...

  2. java jradiobutton使用_Java Swing组件单选框JRadioButton用法示例

    本文实例讲述了Java Swing组件单选框JRadioButton用法.分享给大家供大家参考,具体如下: JRadioButton是Swing中的单选框.所谓单选框是指,在同一个组内虽然有多个单选框 ...

  3. java图片马赛克_java实现图片缩放、旋转和马赛克化

    本文是作者结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化. 不多说,上代码: package deal; import java.awt.Color; import jav ...

  4. java jpanel 居中_java将组件居中的方法

    java将组件居中的方法 发布时间:2020-05-18 13:53:04 来源:亿速云 阅读:379 作者:小新 今天小编给大家分享的是java将组件居中的方法,相信很多人都不太了解,为了让大家更加 ...

  5. java jnlp 签名_JAVA JNLP组件数字签名制作步骤

    为JAR签名需要两个工具: 1.用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给 6个月) 2.用JARSigner用此密匙为JAR签名. 可以用同一个密匙来为多个JAR签名. 注意 ...

  6. C# 图片缩放放大剪切代码

    asp.net C#图片缩放放大剪切代码 本人在网上找了很多资料,整合了下..分享上来 ~ net c#图片缩放放大剪切代码 using system; using system.collection ...

  7. 解决win10系统中截图异常放大的问题 window10-win10 截图放大-缩放-问题解决办法

    解决win10系统中截图异常放大的问题 window10-win10 截图放大-缩放-问题解决办法 亲测: 1.应用程序–右击–选择属性–选择兼容性标签-勾选"禁用全屏优化". 支 ...

  8. android 自定义view,缩放放大,平移边界检测

    由于项目的需要,自定义个view,控制父控件,既可以缩放放大,滑动边界检测.自己实现了通过父控件就能操作子控件的自定义view,直接引用就可以使用. 下面是我实现的一个思路,贴了部分代码,大家可以参考 ...

  9. Java使用thumbnailator进行图片压缩缩放裁剪水印旋转处理

    Java使用thumbnailator进行图片压缩缩放裁剪水印旋转处理 一.thumbnailator介绍 二.使用步骤 1.maven的pom.xml引入如下 2.测试代码 一.thumbnaila ...

最新文章

  1. AcWing 397. 逃不掉的路(边双连通分量缩点成树 + 树链剖分乱搞)
  2. VC中读写ini文件
  3. 1.二叉树的中序遍历
  4. spring基于XML的AOP-编写必要的代码
  5. udf、utaf、udtf进出数量规律
  6. java js 解析器_graphqljs具有多个参数的解析器
  7. python基础教程代码-Python基础教程代码怎么是英文 看不懂啊?
  8. 元素可视区client系列(附实例)
  9. Python实现汉字人名按拼音或笔画顺序排序
  10. 低学历者已经月入万元是为什么
  11. 《果然新鲜》电商项目(44)- 利用Logstash自动同步数据库内容到ES
  12. 广度优先算法之狄克斯特拉算法
  13. Win2008下IIS7不显验证码解决方案
  14. 『NLP学习笔记』Cross Entropy Loss 的硬截断、软化到 Focal Loss
  15. WIN10,配置adb环境
  16. ThinkPhp5.2加减法验证码
  17. iframe嵌入通讯
  18. 解决matlab 关于警告(warning)、错误(error)、异常(exception)与断言(assert)问题总结
  19. 行业典型案例解读 | FASS全闪高性能文件网关解决方案
  20. webbrowser php,webBrowser C#是实现的网页浏览器,能够打开各种 ,调用 搜索。 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...

热门文章

  1. 如何利用一台pc获取百万利益 《标题党》
  2. 旅游自助系统可行性分析
  3. 字符串操作与正则表达式
  4. PHP获取当前时间戳,当前时间、及解决时区问题
  5. 解决Mac下npm权限问题
  6. H5 唤起 APP的解决方案
  7. 解决SSH远程执行命令找不到环境变量的问题
  8. 从字符串中删除所有出现的char
  9. xcode选择活动的开发人员目录错误
  10. 对于数组,为什么会出现a [5] == 5 [a]?