4

我想定位我放在 JLabel 中的图像。这是我的代码:

public Main() {
    setLayout (new FlowLayout());
            image = new ImageIcon(getClass().getResource("title.gif"));
            image1 = new JLabel(image);
            image1.setAlignmentX(400);
            image1.setAlignmentY(400);
            add(image1);
}

它显示图像,但线条

image1.setAlignmentX(400);
image1.setAlignmentY(400);

不要做任何事情。我是Java新手,任何帮助表示赞赏。

(我会很感激一个例子。)

4

1 回答 1

7

问题:

  • 您正在使用 FlowLayout ,即使您做得正确,它也不会尊重绝对定位。
  • setAlignmentX(...)用于向容器建议组件沿 x 轴的对齐方式。如上所述,它需要一个从 0.0f 到 1.0f 的浮点数,其中 0f 表示左对齐,0.5f 居中,1.0f 表示右对齐。您绝对不想使用这种方法,或者它是这里的对应方法。
  • 绝对定位需要使用空布局的容器,而不是 FlowLayout。
  • 绝对定位是通过setBounds(...)setLocation(...)方法完成的。
  • 话虽如此,我建议你不要尝试绝对定位事物,除非有绝对需要,而且这里很有可能你不这样做,有更好的方法。

请告诉我们更多问题的详细信息,而不是您尝试解决问题的方式,我们可能会更好地为您提供帮助。

于 2012-06-07T23:42:00.033 回答