深圳摇号申请网站,在线免费网站,苏州品牌网站设计,wordpress pjax本文记录java开发CS结构时怎么自适应屏幕大小以及控件跟随frame大小变化大小、位置和字体大小需要注意#xff1a;1、代码必须放置在其构造方法中。如#xff1a;我的frame1是我frame.java的名#xff0c;则代码放置在方法“public Frame1() ”中。2、放在控件初始化后的地方…本文记录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}}