当前位置: 代码迷 >> J2SE >> java 关于窗体的setResizable()有关问题
  详细解决方案

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

热度:92   发布时间:2016-04-24 02:14:33.0
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呢

我没办法让它们相等起来,没辙了~~~
  相关解决方案