如何在任何位置(x,y)向面板添加图像

时间:2010-03-25 13:33:22

标签: java swing

我想将图像或带有图像的标签添加到任何位置的面板,用户点击面板决定(添加用户在面板中点击的图像)。 怎么做。

感谢

2 个答案:

答案 0 :(得分:2)

尝试(并调整)此sscce

import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class JLabelOnClick extends JFrame {

    public static void main(String[] args) {
    final JFrame frame = new JLabelOnClick();
    final JPanel panel = new JPanel();
    panel.setLayout(null);
    frame.setContentPane(panel);

    frame.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
        // if you want an image instead, use the JLabel(Icon image)
        // constructor
        JLabel label = new JLabel("test");
        label.setBounds(e.getX(), e.getY(), label.getPreferredSize().width, label
            .getPreferredSize().height);
        panel.add(label);
        panel.validate();
        frame.repaint();
        }
    });

    frame.setSize(new Dimension(200, 200));
    frame.setVisible(true);
    }

}

答案 1 :(得分:1)

null设置为该面板的LayoutManager,然后手动设置每个图像的位置。