当前位置: 技术问答>java相关
请问java的GUI界面如何实现缩放窗口时组件不跟着变形,100分发上兑现
来源: 互联网 发布时间:2017-03-10
本文导语: 在一个Frame里罗列了一对组件,按定义好的大小显示时还好,可一最大化就开始变形, 再往小里错就更难看了,请问有办法解决么 | 可以尝试: setLayout(null); 再用 setBounds(x,y,width,height); 定位. 应该可...
在一个Frame里罗列了一对组件,按定义好的大小显示时还好,可一最大化就开始变形,
再往小里错就更难看了,请问有办法解决么
再往小里错就更难看了,请问有办法解决么
|
可以尝试:
setLayout(null);
再用
setBounds(x,y,width,height);
定位.
应该可以,虽然很多书上不推荐用setLayout(null)
setLayout(null);
再用
setBounds(x,y,width,height);
定位.
应该可以,虽然很多书上不推荐用setLayout(null)
|
contentPane.setLayout(null);
// or
import com.borland.jbcl.layout.*;
contentPane.setLayout( new XYLayout() );
// or
import com.borland.jbcl.layout.*;
contentPane.setLayout( new XYLayout() );
|
import javax.swing.*;
public class myFrame extends JFrame {
JPanel contentPanel=(JPanel)this.getContentPane();
JPanel jp=new JPanel();
JButton jb=new JButton("1");
JButton jb1=new JButton("2");
public myFrame() {
super("myFrame");
this.setSize(800,600);
this.setResizable(true);
this.setLocation(this.getToolkit().getScreenSize().width/2-400,this.getToolkit().getScreenSize().height/2-300);
contentPanel.setLayout(new BorderLayout());
contentPanel.add("Center",jp);
jp.setLayout(null);
jp.add(jb);
jb.setBounds(100,100,100,100);
jp.add(jb1);
jb1.setBounds(2100,210,50,50);
this.setVisible(true);
}
public static void main(String args[]) {
new myFrame();
}
}
public class myFrame extends JFrame {
JPanel contentPanel=(JPanel)this.getContentPane();
JPanel jp=new JPanel();
JButton jb=new JButton("1");
JButton jb1=new JButton("2");
public myFrame() {
super("myFrame");
this.setSize(800,600);
this.setResizable(true);
this.setLocation(this.getToolkit().getScreenSize().width/2-400,this.getToolkit().getScreenSize().height/2-300);
contentPanel.setLayout(new BorderLayout());
contentPanel.add("Center",jp);
jp.setLayout(null);
jp.add(jb);
jb.setBounds(100,100,100,100);
jp.add(jb1);
jb1.setBounds(2100,210,50,50);
this.setVisible(true);
}
public static void main(String args[]) {
new myFrame();
}
}
|
这个问题不太好解决,比方说还有字体大小的问题,要控件大小和字体大小都随窗体的改变而改变可得费点工夫
|
getToolkit().getScreenSize()用这个可以取得屏幕尺寸,剩下的自己想把
|
定义组键的尺寸,可以用GridBagConstraints里的,ipadx和ipday确定,
也可以用setPreferredSize(new Dimension(int x,int y))来设置大小!
也可以用setPreferredSize(new Dimension(int x,int y))来设置大小!