如何在java中将图像放在彼此的顶部

时间:2010-06-18 05:41:14

标签: java image canvas

我有道路的背景图片,我使用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);

}
}

我听说过使用画布但没有任何线索。有什么想法吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

如何使用LayeredPanethis可能有所帮助。

答案 1 :(得分:0)

add(new JLabel(usIcon)); 
add(new JLabel(northcar)); 

将订单更改为:

add(new JLabel(northcar)); 
add(new JLabel(usIcon)); 

阅读Z-Order。添加的最后一个组件首先被绘制。