所以我有一张图片:
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);
}
}
答案 0 :(得分:3)
虽然我更喜欢使用布局管理器,但为了回答你的问题,setBounds()的参数是
x-coordinate, y-coordinate, width and height
你的想法是正确的,你必须调整到框架的大小,但我认为你需要调整的是第二个参数,即y而不是图像图标的高度