读书人

java 关于窗体的setResizable()有关问

发布时间: 2012-01-26 19:40:46 作者: rapoo

java 关于窗体的setResizable()问题
注意看他的输出结果
显示大小为
150 150
160 160
而我不要setResizable(false)后,
输出为
150 150
150 150
谁解释一下为什么设置了Resizable()后增加了10个像素
更奇怪的是我在学校做的时候却只增加2个像素
public class Testing extends JPanel
{
public Testing()
{
this.setPreferredSize(new Dimension(150,150));
}

public static void main(String[] args)
{
JFrame f = new JFrame();
Container cp = f.getContentPane();

Testing t = new Testing();
cp.add(t,BorderLayout.CENTER);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();

System.out.println(t.getSize());

f.setResizable(false);
f.setVisible(true);

System.out.println(t.getSize());
}

public void paint(Graphics g)
{
super.paint(g);
g.fillRect(0, 0, 150, 150);
}
}

[解决办法]
这才知道你那个Testing继承的是JPanel,我还以为是JFrame呢

我没办法让它们相等起来,没辙了~~~

读书人网 >J2SE开发

热点推荐