java那位大神告诉我为什么我用这个画图会报错??

那位大神来解答一下,谢谢!!!
编译无错误,图片放置位置正确,运行时出现以下内容,并没有显示图片,只显示了窗体。
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.desktop/sun.awt.SunToolkit.getImageFromHash(SunToolkit.java:653)
at java.desktop/sun.awt.SunToolkit.getImage(SunToolkit.java:689)
at com.day1.MyPanel.paint(Picture_1.java:71)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5262)
at java.desktop/javax.swing.RepaintManager P a i n t M a n a g e r . p a i n t D o u b l e B u f f e r e d I m p l ( R e p a i n t M a n a g e r . j a v a : 1643 ) a t j a v a . d e s k t o p / j a v a x . s w i n g . R e p a i n t M a n a g e r PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1643) at java.desktop/javax.swing.RepaintManager PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1643)atjava.desktop/javax.swing.RepaintManagerPaintManager.paintDoubleBuffered(RepaintManager.java:1618)
at java.desktop/javax.swing.RepaintManager P a i n t M a n a g e r . p a i n t ( R e p a i n t M a n a g e r . j a v a : 1556 ) a t j a v a . d e s k t o p / j a v a x . s w i n g . R e p a i n t M a n a g e r . p a i n t ( R e p a i n t M a n a g e r . j a v a : 1323 ) a t j a v a . d e s k t o p / j a v a x . s w i n g . J C o m p o n e n t . p a i n t ( J C o m p o n e n t . j a v a : 1060 ) a t j a v a . d e s k t o p / j a v a . a w t . G r a p h i c s C a l l b a c k PaintManager.paint(RepaintManager.java:1556) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1323) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1060) at java.desktop/java.awt.GraphicsCallback PaintManager.paint(RepaintManager.java:1556)atjava.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1323)atjava.desktop/javax.swing.JComponent.paint(JComponent.java:1060)atjava.desktop/java.awt.GraphicsCallbackPaintCallback.run(GraphicsCallback.java:39)
at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
at java.desktop/java.awt.Container.paint(Container.java:2002)
at java.desktop/java.awt.Window.paint(Window.java:3926)
at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:876)
at java.desktop/javax.swing.RepaintManager 4. r u n ( R e p a i n t M a n a g e r . j a v a : 848 ) a t j a v a . b a s e / j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( A c c e s s C o n t r o l l e r . j a v a : 389 ) a t j a v a . b a s e / j a v a . s e c u r i t y . P r o t e c t i o n D o m a i n 4.run(RepaintManager.java:848) at java.base/java.security.AccessController.doPrivileged(AccessController.java:389) at java.base/java.security.ProtectionDomain 4.run(RepaintManager.java:848)atjava.base/java.security.AccessController.doPrivileged(AccessController.java:389)atjava.base/java.security.ProtectionDomainJavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848)
at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823)
at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772)
at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1884)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue 4. r u n ( E v e n t Q u e u e . j a v a : 715 ) a t j a v a . b a s e / j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( A c c e s s C o n t r o l l e r . j a v a : 389 ) a t j a v a . b a s e / j a v a . s e c u r i t y . P r o t e c t i o n D o m a i n 4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(AccessController.java:389) at java.base/java.security.ProtectionDomain 4.run(EventQueue.java:715)atjava.base/java.security.AccessController.doPrivileged(AccessController.java:389)atjava.base/java.security.ProtectionDomainJavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

package com.day1;
import java.awt.*;
import javax.swing.*;

public class Picture_1 extends JFrame{
	MyPanel mp=null;//创建mypanel
	

	public static void main(String[] args) {
		Picture_1 pt=new Picture_1();//创建并初始化picture_1,将自动调用paint方法。

	}
	public Picture_1()
	{
		mp=new MyPanel();//初始化panel
		this.add(mp);//加入JFrame
		this.setSize(600,300);//JFrame尺寸
		this.setTitle("画图片");//标题
		//关闭时关闭虚拟机
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);//显示窗体
		//this.setLocation(200,200);//窗体初始位置
		//this.setResizable(false);//不能改变大小
		
	}

}
class MyPanel extends JPanel//创建一个MyPanel类,继承JPanel
{
	
	//Graphics是绘图的重要类,它可以理解成一支画笔,用它画图按
	public void paint(Graphics g)//覆盖JPanel的paint方法
	{
		
		super.paint(g);//调用父类函数,完成初始化,这句话不能少
	
	   //画一个图片,
		
		Image im=Toolkit.getDefaultToolkit().getImage
		(Panel.class.getResource("/j0384862.jpg"));
	//实现图片
	 g.drawImage(im, 10, 10, 100 , 150, this);
		
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值