将图像与框架底部对齐

时间:2012-08-03 02:35:07

标签: java swing

所以我有一张图片:

ImageIcon i = new ImageIcon("foo.png");
JLabel j = new JLabel(i);

我有一个600 X 600的JFrame。

frame.setSize(600, 600);
frame.setLayout(null);

我想让图像的底部触及框架的底部,所以我认为这样可行:

j.setBounds(250, 600 - i.getIconHeight(), i.getIconWidth(), i.getIconHeight());

但是图像从框架的底部伸出,而不是所有图像都显示出来。图像的底部是低于框架。

编辑:我需要对这个应用程序(游戏)使用绝对定位。

EDIT2:以下是供参考的代码:

import javax.swing.*;

public class Test extends JFrame {

    public static void main(String[] args) {
        new Test();
    }

    private Test() {
        setSize(600, 600);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(null);

        ImageIcon i = new ImageIcon("foo.png");
        JLabel j = new JLabel(i);
        add(j);
        j.setBounds(250, 600 - i.getIconHeight(), i.getIconWidth(), i.getIconHeight());

        setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:3)

虽然我更喜欢使用布局管理器,但为了回答你的问题,setBounds()的参数是

x-coordinate, y-coordinate, width and height

你的想法是正确的,你必须调整到框架的大小,但我认为你需要调整的是第二个参数,即y而不是图像图标的高度