Добавление изображения на фон JPanel - PullRequest
2 голосов
/ 28 августа 2011

Как я могу добавить изображение на фоне JPanel.Изображение не будет масштабировано или изменено.Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 августа 2011
/**
 * @author
 *
 */
public class ImagePanel extends JPanel {

    private Image image = null;

    public ImagePanel(String filename) {
        this.image = new ImageIcon(filename).getImage();
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(image, 0, 0, image.getWidth(null), image.getHeight(null), null);
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        ImagePanel panel = new ImagePanel("resources/image.jpg");

        JFrame frame = new JFrame("Frame");
        frame.setSize(800, 600);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.getContentPane().add(panel, BorderLayout.CENTER);
        frame.setVisible(true);
    }
}
0 голосов
/ 28 августа 2011

Вы можете переопределить один из следующих методов:

JComponent.paint(Graphics g)
JComponent.paintComponent(Graphics g)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...