为什么我不能在java swing中使用setbounds方法设置Label的位置?

时间:2015-03-10 17:22:09

标签: java swing awt

import javax.swing.; 
import java.awt.event.; 
import java.awt.*; 

class login extends JFrame { 

  public static void main(String args[]) { 

      JFrame f1; 
      JLabel l1,l2,l3; 
      JButton sign,cancle; 
      f1 =new JFrame();
      l1= new JLabel("hi"); 
      f1.add(l1);
      l1.setBounds(170,40,75,25); 
      f1.setSize(500,500); 
      f1.setVisible(true);
      f1.setLayout(null); 
  } 
}

我无法使用Setbounds方法设置标签的位置,请给我一个解决方案.. !!

1 个答案:

答案 0 :(得分:2)

f1.setVisible(true);

当您调用setVisible(true)时,将调用框架的布局管理器,并根据布局管理器的规则为组件指定大小和位置,默认情况下是布局管理器的规则。

setLayout(null)语句对帧上已经可见的组件没有影响,因为布局管理器已重置您手动设置的边界。

无论如何,不​​要尝试使用null布局。没有理由这样做。 Use layout managers