Java代码不能运行

问题描述

为什么下面写的代码不能实现一个名为m.gif的图像从左到右运动。感谢指教。importjava.awt.*;importjava.awt.event.*;importjava.awt.Graphics.*;importjava.awt.Toolkit;importjavax.swing.JFrame;publicclassBPFrameextendsFrame{publicImageimg=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("m.gif"));publicImageimg2=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("w.gif"));publicImageimg3=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("mx.gif"));publicImageimg4=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("wx.gif"));publicstaticintwidth=Toolkit.getDefaultToolkit().getScreenSize().width;publicstaticintheight=Toolkit.getDefaultToolkit().getScreenSize().height;publicFramef=newFrame();publicMenuItemmi1=newMenuItem("Start");publicMenum1=newMenu("Option");publicMenuBarmb=newMenuBar();//staticMenum1=newMenu("Option");publicBPFrame(){mi1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){moving(e);//System.out.println("fuck");}});//this.f.setSize(width,height);//this.f.setResizable(false);//this.f.setVisible(true);this.m1.add(this.mi1);this.mb.add(this.m1);Frameframe=newFrame();frame.setMenuBar(this.mb);frame.setVisible(true);frame.setSize(width,height);}voidmoving(ActionEvente){ImagebufferImage=this.createImage(width,height);GraphicsbG=bufferImage.getGraphics();Graphicsg=this.getGraphics();inty=300;intx=0;intw=bufferImage.getWidth(this);inth=bufferImage.getHeight(this);for(;x<width;){x=x+5;bG.clearRect(0,0,w,h);bG.drawImage(img,x,y,null);g.drawImage(bufferImage,0,0,null);try{Thread.currentThread();Thread.sleep(20);}catch(Exceptionex){}}}publicstaticvoidmain(String[]args){//MenuBarmb=newMenuBar();//Menum1=newMenu("Option");//Menum2=newMenu("Exit");//MenuItemmi1=newMenuItem("Start");/*MenuItemmi1-start8*///mi1.addActionListener(newActionListener(){//publicvoidactionPerformed(ActionEvente){//moving(e);//System.out.println("fuck");//}//});*//*MenuItemmi2*//*MenuItemmi2=newMenuItem("Stop");mi2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});/*MenuItemmi2*///MenuItemmi3=newMenuItem("Exit");//mi3.addActionListener(newActionListener(){//publicvoidactionPerformed(ActionEvente){//System.exit(0);//}//});//mb.add(m1);//mb.add(m2);//m1.add(BPFrame.mi1);//m1.add(mi2);//m2.add(mi3);newBPFrame();//frame.addWindowListener(newWindowAdapter(){//addWindowListener//publicvoidwindowClosing(WindowEvente){//System.exit(0);//}//});//frame.setMenuBar(mb);//frame.setVisible(true);//frame.setSize(width,height);//frame.setResizable(false);//frame.setMenuBar(mb);}}

解决方案

解决方案二:
看来GUI还是挺受人欢迎的,还有搞这方面的,我是不会了,帮顶。
解决方案三:
请学会用swing,awt的很多组件被swing代替了importjava.awt.*;importjava.awt.event.*;importjava.awt.Graphics.*;importjava.awt.Toolkit;importjavax.swing.JFrame;publicclassBPFrame{publicImageimg=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("2_guest.jpg"));publicImageimg2=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("2_guest.jpg"));publicImageimg3=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("2_guest.jpg"));publicImageimg4=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("2_guest.jpg"));publicstaticintwidth=Toolkit.getDefaultToolkit().getScreenSize().width;publicstaticintheight=Toolkit.getDefaultToolkit().getScreenSize().height;publicFramef=newFrame();publicMenuItemmi1=newMenuItem("Start");publicMenum1=newMenu("Option");publicMenuBarmb=newMenuBar();privateFrameframe=null;publicBPFrame(){mi1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){moving(e);}});this.m1.add(this.mi1);this.mb.add(this.m1);frame=newFrame();frame.setMenuBar(this.mb);frame.setVisible(true);frame.setSize(width,height);}voidmoving(ActionEvente){ImagebufferImage=frame.createImage(width,height);GraphicsbG=bufferImage.getGraphics();Graphicsg=frame.getGraphics();inty=300;intx=0;intw=bufferImage.getWidth(frame);inth=bufferImage.getHeight(frame);for(;x<width;){x=x+5;bG.clearRect(0,0,w,h);bG.drawImage(img,x,y,null);g.drawImage(bufferImage,0,0,null);try{Thread.currentThread();Thread.sleep(20);}catch(Exceptionex){}}}publicstaticvoidmain(String[]args){newBPFrame();}}

解决方案四:
publicImageimg=Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("m.gif"));--看看你的图像文件路径是否正确?遇到问题设断点调试,看走到哪一步报错的

时间: 2024-08-01 11:35:27

Java代码不能运行的相关文章

java代码中运行doc命令

问题描述 java代码中运行doc命令 我想要在我的Java代码中运行一段doc命令,然后将正常在doc窗口输出的信息取出来,这个信息应该怎么获取,求助各位大神 解决方案 java doc运行命令 解决方案二: http://developer.51cto.com/art/201107/273282.htm

请问:用java代码怎么运行,停止,重启memcached?

问题描述 请问:用java代码怎么运行,停止,重启memcached? 请问:用java代码怎么运行,停止,重启memcached?谢谢! 解决方案 基本就是几个命令,所以你java调用对应命令就可以了 sudo service memcached stop sudo service memcached start sudo service memcached restart 解决方案二: http://ask.csdn.net/questions/189677 解决方案三: http://bl

java代码-请指出下面Java代码的运行结果

问题描述 请指出下面Java代码的运行结果 package Hello; public class Hello { public static void main(String[] args) { A ab = new B(); ab = new B(); } } class A{ static{ System.out.print("1"); } public A(){ System.out.print("2"); } } class B extends A{ st

java显示当前运行时的参数(java运行参数)_java

显示当前运行java代码的运行时的各种参数. 不带显String操作. 复制代码 代码如下: package systeminfo; import java.util.Iterator;import java.util.Map.Entry;import java.util.Properties; public class sysinfo {  public static void main(String[] args) {  Properties p = System.getProperties

java 代码运行异常在eclipse

问题描述 java 代码运行异常在eclipse package come1; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class Test1 extends JFrame{ Vector rowData,columnNames; JTable jt=null; JScrollPane jsp=null

为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?

问题描述 为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行? 为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?,例如onCreate()方法 , 解决方案 因为框架负责了实例化,这些代码只是不是你写的而已. 解决方案二: onCreate是系统自动回调的方法

java代码运行出现错误“Address already in use: Cannot bind”

问题描述 java代码运行出现错误"Address already in use: Cannot bind" 这是数据接受端代码: import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class ReceiveUDP { public static void main(Stri

java代码的在线运行,对其内存限制,时间检测等问题[ga]

问题描述 java代码的在线运行,对其内存限制,时间检测等问题[ga] 基本需求类似[java在线代码编译运行],多个客户都可以各自通过web浏览器输入java代码, 然后点击执行java代码,输出结果. 我是通过(Class thisClass = Class.forName(className,true,ClassLoader.getSystemClassLoader()); 来实现的) 目前比较担心某个用户输入的java代码可能是个死循环(如:while(true){xxxx}), 或者高

为什么有eclipse还要在dos下运行java代码?

问题描述 为什么有eclipse还要在dos下运行java代码? 为什么在dos下运行java代码,不是有eclipse吗,这里写和运行不是更方便吗? 解决方案 不管是用dos还是eclipse都是调用了安装的JDK,刚开始让你用dos只是一个过渡,让你理解和知道他的原理是这样编译的,以后开发和学习都不用在dos里编译了,eclipse会自动帮你编译好,直接运行即可. 解决方案二: java笔记一:有关java HelloWorld dos环境下运行出错DOS环境下运行java类的方法 解决方案