这是我写的代码:
super("Add contact");
setLayout(new FlowLayout());
IPAddress = new JLabel("IP Address");
IPAddress.setLocation(1000, 100);
ImageIcon ii=new ImageIcon(getClass().getResource("Add.png"));
JLabel image = new JLabel(ii);
image.setSize(100, 100);
image.setLocation(500, 100);
add(image);
add(IPAddress);
setSize(500,150);
}
答案 0 :(得分:7)
这是正确的。布局管理器负责根据布局管理器的规则设置组件的位置。因此,在您的情况下,FlowLayout将覆盖组件的位置。
您永远不应该硬编码组件的位置。如果有人使用的分辨率低于1024 X 768怎么办?该组件永远不会显示。
您也不应该设置组件的大小。每个组件都有一个首选大小。对于带有图像的标签,首选尺寸将是图像的大小。
阅读Layout Managers并使用适当的布局管理器或布局管理器组合来实现所需的布局。