java swing 窗口和控件自适应大小
来源:互联网 发布:中科院学位论文数据库 编辑:程序博客网 时间:2024/06/05 11:43
本文记录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}}
阅读全文
1 0
- java swing 窗口和控件自适应大小
- 控件自适应窗口大小
- VB:所有控件自适应窗口大小
- Qt图片自适应窗口控件大小
- Qt图片自适应窗口控件大小
- MFC 所有控件随窗口大小自适应
- 窗口大小屏幕自适应控件ResizeKit
- MFC 所有控件随窗口大小自适应
- MFC 所有控件随窗口大小自适应
- Qt图片自适应窗口控件大小
- Qt图片自适应窗口控件大小
- MFC控件自适应窗口大小类
- Qt Creator 窗体控件自适应窗口大小布局
- Qt Creator 窗体控件自适应窗口大小布局
- C++ MFC控件随着窗口大小变化而自适应
- Qt Creator 窗体控件自适应窗口大小布局
- C++ MFC控件随着窗口大小变化而自适应
- 屏幕自适应窗口大小控件ResizeKit详细介绍
- C语言第八课 预处理
- 添加元件库,搜索元件,放置元件
- eclipse怎样创建并运行java项目
- Date类、Calendar类与SimpleDateFormat类-Java基础063
- android 简单实现GridView的Item逐个加载和动画效果
- java swing 窗口和控件自适应大小
- (个人)AR电子书系统创新实训第三周(1)
- Spring Boot打包总结
- 怎么理解,java语言是跨平台的?即什么是跨平台?C也说自己是跨平台的,怎么理解?
- 1040. 有几个PAT(25) PAT
- 如何用Kotlin实现一个简单的Activity
- c++收银系统
- Launchpad图标大小怎么调整?
- android Recyclerview上拉加载更多