【问题标题】:Positioning a JLabel (setAlignment not working)定位 JLabel(setAlignment 不起作用)
【发布时间】:2012-06-07 23:27:11
【问题描述】:

我想定位我放置在 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 新手,感谢任何帮助。

(我会欣赏一个例子。)

【问题讨论】:

标签: java swing layout jlabel flowlayout


【解决方案1】:

问题:

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

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

【讨论】:

    猜你喜欢
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2017-10-19
    相关资源
    最近更新 更多