我有道路的背景图片,我使用ImageIcon在JFrame上显示。我想在某个(x,y)位置将车放在该背景图像的顶部。
我尝试使用另一个ImageIcon并且在运行程序时没有出现背景,但是汽车确实没有。
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Gui extends JFrame {
private ImageIcon northcar = new ImageIcon("src/north.gif");
private ImageIcon usIcon = new ImageIcon("src/trafficLight.jpg");
public Gui() {
add(new JLabel(usIcon)); // background image does not appear after the i added the northcar label
add(new JLabel(northcar)); // this picture can be seen
}
public static void main(String[] args) {
Gui frame = new Gui();
frame.setTitle("TestImageIcon");
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, 650, 650);
frame.setVisible(true);
}
}
我听说过使用画布但没有任何线索。有什么想法吗?
非常感谢
答案 0 :(得分:1)
如何使用LayeredPane
,this可能有所帮助。
答案 1 :(得分:0)
add(new JLabel(usIcon));
add(new JLabel(northcar));
将订单更改为:
add(new JLabel(northcar));
add(new JLabel(usIcon));
阅读Z-Order。添加的最后一个组件首先被绘制。