加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何将图像绘制到JPanel或JFrame?

发布时间:2020-12-14 05:52:40 所属栏目:Java 来源:网络整理
导读:我如何将图像绘制到JPanel或JFrame,我已经阅读了oracle的教程,但我似乎无法正确的.我需要将图像“BeachRoad.png”显示在一组特定的坐标上.这是我到目前为止. public class Level1 extends JFrame implements ActionListener {static JLayeredPane Everything
我如何将图像绘制到JPanel或JFrame,我已经阅读了oracle的教程,但我似乎无法正确的.我需要将图像“BeachRoad.png”显示在一组特定的坐标上.这是我到目前为止.
public class Level1  extends JFrame implements ActionListener {

static JLayeredPane EverythingButPlayer;
static Level1 l1;

public Level1() {
    EverythingButPlayer = new JLayeredPane();

    BufferedImage img = null;
    try {
        img = ImageIO.read(new File("BeachRoad.png"));
    } catch (IOException e) {
    }
    Graphics g = img.getGraphics();
    g.drawImage(img,EverythingButPlayer);


    this.add(EverythingButPlayer);
}

在Main()中,

l1 = new Level1();
    l1.setTitle("poop");
    l1.setSize(1920,1080);
    l1.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
    l1.setVisible(true);

提前致谢!

解决方法

尝试这个:
package com.sandbox;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class SwingSandbox {

    public static void main(String[] args) throws IOException {
        JFrame frame = buildFrame();

        final BufferedImage image = ImageIO.read(new File("C:ProjectsMavenSandboxsrcmainresourcesimg.jpg"));

        JPanel pane = new JPanel() {
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                g.drawImage(image,null);
            }
        };


        frame.add(pane);
    }


    private static JFrame buildFrame() {
        JFrame frame = new JFrame();
        frame.setDefaultCloSEOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setSize(200,200);
        frame.setVisible(true);
        return frame;
    }


}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读