为什么我无法更改图标的x和y坐标?我真正需要的是将图像添加到屏幕上。我甚至需要使用JLabel吗?
package bit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class BIT extends JFrame
{
JLabel CL;
public BIT()
{
CL = new JLabel(new ImageIcon(this.getClass().getResource("final-image.jpg")));
CL.setBounds(0,0,100,100);
this.getContentPane().add(CL);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(5,5,1000,500);
this.setResizable(false);
this.setVisible(true);
}
public static void main(String[] args)
{
new BIT();
}
}
答案 0 :(得分:0)
在使用setBounds
添加控件之前取消设置JFrame的布局this.setLayout(null);
答案 1 :(得分:0)
您无法设置x& JLabel
的y坐标正在JFrame
使用其默认的BorderLayout布局管理器,该布局管理器根据布局实现来排列其组件。
setBounds
仅在使用绝对定位(或null
布局)和this option should be avoided(!)时有效。
您似乎试图将JLabel
放置在框架的左上角(0, 0
)。要做到这一点,你可以:
PAGE_START
位置这将是:
CL = new JLabel(new ImageIcon(...), JLabel.LEFT);
this.getContentPane().add(CL, BorderLayout.PAGE_START);