执手麦田的咖啡空间  
专注于Java的学习研究
公告
  • 于喧闹网界之中,寻一处僻静之所,与三二好友,品程序、论思想,其乐何融融!
    执手麦田的咖啡馆——在这里关注JAVA的学习研究
日历
<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

留言簿(2)

随笔分类(13)

随笔档案(13)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

今天在调试一个简单的JAVA手机小程序的时候,遇到了一个让我头痛了半天的问题。但最终得以解决,将方法写上,说不定还有一些朋友也遇到了类似的情况。

这个程序是一个关于在手机上显示图片的程序,分成两段:

1、MainCanvas.java部分

内容如下:

import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

public class MainCanvas extends Canvas {

public Image m_Image;
MainCanvas(){
   try{
   
    m_Image=Image.createImage("/IM.png");
   
   }
   catch(IOException e){
   
      }
}
protected void paint(Graphics g){
   g.drawImage(m_Image,0,0,Graphics.TOP|Graphics.LEFT);
}

}

2、MyCartoonMidlet.java部分

内容如下:

ukimport javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class MyCartoonMidlet extends MIDlet {

public MainCanvas m_MainCanvas;
public MyCartoonMidlet() {
   // TODO 自动生成构造函数存根
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
   // TODO 自动生成方法存根

}

protected void pauseApp() {
   // TODO 自动生成方法存根
        
}

protected void startApp() throws MIDletStateChangeException {
   m_MainCanvas=new MainCanvas();
   Display.getDisplay(this).setCurrent(m_MainCanvas);
   while(true){
    m_MainCanvas.repaint();
   }

}

}

过程是调用目录下的一个叫做 IIM.PNG的文件

在调试过程中,编译器老是报Java.lang.NullPointerException 的错误,顺藤摸瓜,发现是找不到图片的问题才导致抛出这样的异常。可是我已经把图片放到了程序目录下呀。于是一度认为是编程环境出了问题。可事实并非如此。查找了半天资料才发现,原来图片应该放在verified\classes下,把文件放进去,所有问题都解决了。OK!

posted on 2007-04-25 10:44 执手麦田 阅读(20954) 评论(17)  编辑  收藏 所属分类: 咖啡馆
评论:
  • # re: 关于Java.lang.NullPointerException  路过 Posted @ 2007-04-25 20:00
    终于找到了,我今天也遇到了这个问题,谢谢提供参考。  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  ddd Posted @ 2007-04-26 12:36
    放到class path下的话,都可以的吧。。。  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException   Posted @ 2007-05-01 00:49
    我是玩游戏玩着玩着会弹出这个问题
    请问有什么解决方法?  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  佛前青莲 Posted @ 2007-05-26 17:54
    我试过了,没用的.我把文件放在/rushmore/classes/images/mountrushmore.jpg
    还是会抛出这个java.lang.NullPointerException
    请教高手别的方法  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException[未登录]  june Posted @ 2007-06-13 10:51
    我也遇到这个问题了
    我是改一个程序,那个程序只有在连接局域网的时候才正常
    不然就会弹出这个错误
    不知道什么原因
    哪位大侠指点一下  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  程序员 Posted @ 2007-07-23 08:53
    java.lang.NullPointerException
    插入数据库的时候出现的异常,怎么办啊?请教各位大侠指导!  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  飘逸的云 Posted @ 2007-08-10 20:11
    我机子以前不会出现这种情况的,但是不知道为什么后来无论怎么样都是这样,我气死了:
    比如import javax.microedition.midlet.MIDlet;
    import javax.microedition.midlet.MIDletStateChangeException;
    import javax.microedition.lcdui.Form;
    import javax.microedition.lcdui.Display;

    public class MidLetTest0 extends MIDlet {
    Display display;
    Form form=new Form("手机高级界面测试");
    public MidLetTest0() {
    // TODO 自动生成构造函数存根
    }

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
    // TODO 自动生成方法存根

    }

    protected void pauseApp() {
    // TODO 自动生成方法存根

    }

    protected void startApp() throws MIDletStateChangeException {
    // TODO 自动生成方法存根
    display.setCurrent(form);
    }

    }
    程序就会提示:


    Running with locale: Chinese_People's Republic of China.936
    startApp threw an Exception
    java.lang.NullPointerException
    java.lang.NullPointerException
    at MidLetTest0.startApp(+8)
    at javax.microedition.midlet.MIDletProxy.startApp(+7)
    at com.sun.midp.midlet.Scheduler.schedule(+270)
    at com.sun.midp.main.Main.runLocalClass(+28)
    at com.sun.midp.main.Main.main(+116)
    Execution completed.
    3407162 bytecodes executed
    32 thread switches
    1646 classes in the system (including system classes)
    17656 dynamic objects allocated (527024 bytes)
    2 garbage collections (457012 bytes collected)



    这是怎么回事,我觉得还是环境出了问题,希望高手能帮帮我QQ:104684539  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException   Posted @ 2007-09-20 11:39
    对象为空  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  J2ME游戏开发 Posted @ 2007-10-20 20:15
    今天也出了这个问题.......按着你的方法试了一试 居然成功了
    我爱死你了 捆饶我一下午的问题解决了
    感谢你!!!!!!!!!!  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  杨尧 Posted @ 2008-11-06 10:25
    java.lang.NullPointerException
    at org.eclipse.datatools.sqltools.data.internal.ui.editor.TableDataTableCursor.registerCellEditorsListener(TableDataTableCursor.java:108)
    at org.eclipse.datatools.sqltools.data.internal.ui.editor.TableDataTableCursor.<init>(TableDataTableCursor.java:39)
    at org.eclipse.datatools.sqltools.data.internal.ui.editor.TableDataTableCursorExternalEditingSupport.<init>(TableDataTableCursorExternalEditingSupport.java:46)
    at org.eclipse.datatools.sqltools.data.internal.ui.editor.TableDataEditor.createPartControl(TableDataEditor.java:124)
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
    at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
    at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:266)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2820)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729)
    at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721)
    at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2635)
    at org.eclipse.datatools.sqltools.data.internal.ui.editor.EditTableDataAction.run(EditTableDataAction.java:44)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

      回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  mxg618@126.com Posted @ 2009-03-15 17:00
    <%!
    String id;
    String title;
    String content;
    String author;
    String keywords;
    int currid;
    String sql="";
    ResultSet rstmp=null;
    %>
    <jsp:useBean id="conn" scope="page" class="k.kk" ></jsp:useBean>
    <%
    rstmp=conn.executeQuery("select max(id) As maxid from ness");
    if(rstmp.next()) currid=rstmp.getInt( "maxid" )+1;

    if(request.getParameter("title")!=null)
    title=request.getParameter("title");
    if(request.getParameter("content")==null)
    content=request.getParameter("content");
    if(request.getParameter("keyw")!=null)
    keywords=request.getParameter("keyw");
    if(request.getParameter("author")==null)
    author=request.getParameter("author");
    if(request.getParameter("title")!=null){
    sql=" insert into news values("+currid;
    sql+=",'"+ title+"','"+content+"',";
    sql+="date(),'"+ keywords +"','"+author+"')'";
    conn.executeQuery(sql);

    out.println("<hr>");
    out.println("<h2>添加成功</h2>");
    out.println("<hr>");
    }
    else{
    out.println("<hr>");
    out.println("<h2>添加正确的信息在录入</h2>");
    out.println("<hr>");
    }

    %>


    </body>
    </html>


    java.lang.NullPointerException

      回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  ShaDi Posted @ 2009-06-09 18:31
    hi all, please can you translate it to english..i really dont understand theese letters.. i need to resolve it. thanks  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException[未登录]  QQ Posted @ 2009-07-17 15:53
    @ShaDi
    You have to put your pictures in this path -verified\classes.
    Hope it can help you!  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  J2ME初学者 Posted @ 2009-07-19 02:16
    public void keyPressed(int key){
    int i=0;
    if(key==-2||key==56){
    this.n+=1;
    System.out.println(pointer_1[i]);
    grap.drawImage(this.pointer_1[i], 62, fxy+20*i, 0);

    grap.drawImage(this.pointer_2[i+1], 62, fxy+20*(i+1), 0);
    i++;
    if(this.n==5) n=0;
    if(i>=4) i=0;
    }
    }
    我在paint()方法中已能调出图片,可是在这里却抛出java.lang.NullPointerException异常,能帮我看看是什么原因吗?谢谢  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  刘攀攀 Posted @ 2010-11-05 19:48
    你可用tomcat部署了工程  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException[未登录]  hj Posted @ 2011-09-26 15:11
    你真会吹,图片不存在,只会达不到效果而已  回复  更多评论   

  • # re: 关于Java.lang.NullPointerException  云鹤 Posted @ 2011-10-09 16:30
    org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:426)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


    root cause

      回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 执手麦田 Powered by: 博客园 模板提供:沪江博客