java禁止放大_java 所有组件缩放、放大
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 所有组件缩放、放大相关推荐
- java监控任务进度_Java Swing组件实现进度监视功能示例
本文实例讲述了java swing组件实现进度监视功能.分享给大家供大家参考,具体如下: 实例一: import java.awt.event.actionevent; import java.awt ...
- java jradiobutton使用_Java Swing组件单选框JRadioButton用法示例
本文实例讲述了Java Swing组件单选框JRadioButton用法.分享给大家供大家参考,具体如下: JRadioButton是Swing中的单选框.所谓单选框是指,在同一个组内虽然有多个单选框 ...
- java图片马赛克_java实现图片缩放、旋转和马赛克化
本文是作者结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化. 不多说,上代码: package deal; import java.awt.Color; import jav ...
- java jpanel 居中_java将组件居中的方法
java将组件居中的方法 发布时间:2020-05-18 13:53:04 来源:亿速云 阅读:379 作者:小新 今天小编给大家分享的是java将组件居中的方法,相信很多人都不太了解,为了让大家更加 ...
- java jnlp 签名_JAVA JNLP组件数字签名制作步骤
为JAR签名需要两个工具: 1.用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给 6个月) 2.用JARSigner用此密匙为JAR签名. 可以用同一个密匙来为多个JAR签名. 注意 ...
- C# 图片缩放放大剪切代码
asp.net C#图片缩放放大剪切代码 本人在网上找了很多资料,整合了下..分享上来 ~ net c#图片缩放放大剪切代码 using system; using system.collection ...
- 解决win10系统中截图异常放大的问题 window10-win10 截图放大-缩放-问题解决办法
解决win10系统中截图异常放大的问题 window10-win10 截图放大-缩放-问题解决办法 亲测: 1.应用程序–右击–选择属性–选择兼容性标签-勾选"禁用全屏优化". 支 ...
- android 自定义view,缩放放大,平移边界检测
由于项目的需要,自定义个view,控制父控件,既可以缩放放大,滑动边界检测.自己实现了通过父控件就能操作子控件的自定义view,直接引用就可以使用. 下面是我实现的一个思路,贴了部分代码,大家可以参考 ...
- Java使用thumbnailator进行图片压缩缩放裁剪水印旋转处理
Java使用thumbnailator进行图片压缩缩放裁剪水印旋转处理 一.thumbnailator介绍 二.使用步骤 1.maven的pom.xml引入如下 2.测试代码 一.thumbnaila ...
最新文章
- AcWing 397. 逃不掉的路(边双连通分量缩点成树 + 树链剖分乱搞)
- VC中读写ini文件
- 1.二叉树的中序遍历
- spring基于XML的AOP-编写必要的代码
- udf、utaf、udtf进出数量规律
- java js 解析器_graphqljs具有多个参数的解析器
- python基础教程代码-Python基础教程代码怎么是英文 看不懂啊?
- 元素可视区client系列(附实例)
- Python实现汉字人名按拼音或笔画顺序排序
- 低学历者已经月入万元是为什么
- 《果然新鲜》电商项目(44)- 利用Logstash自动同步数据库内容到ES
- 广度优先算法之狄克斯特拉算法
- Win2008下IIS7不显验证码解决方案
- 『NLP学习笔记』Cross Entropy Loss 的硬截断、软化到 Focal Loss
- WIN10,配置adb环境
- ThinkPhp5.2加减法验证码
- iframe嵌入通讯
- 解决matlab 关于警告(warning)、错误(error)、异常(exception)与断言(assert)问题总结
- 行业典型案例解读 | FASS全闪高性能文件网关解决方案
- webbrowser php,webBrowser C#是实现的网页浏览器,能够打开各种 ,调用 搜索。 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...