我的任务是创建一个非常简单的网页,其中包含一个车辆的Java小程序,该小程序在屏幕上移动并在离开窗口之前停止。我是Java的新手,所以尽管我能够成功创建一个能够满足我想要的应用程序,但我没有把运行应用程序转换为applet。这是我的代码:
package finalProject;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.GeneralPath;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Car extends JFrame {
private static final long serialVersionUID = -5306640844197169382L;
public static void main(String[] args) {
JFrame GUI = new JFrame();
GUI.setTitle("Final Project");
double width = java.awt.Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int w = (int) width;
GUI.setSize(w, 210);
GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
drawCar van = new drawCar();
Container vanPane = GUI.getContentPane();
vanPane.add(van);
GUI.setVisible(true);
for(int i = 0; i <= w - 332; i++) {
van.setLayout(null);
van.setLocation(i += 1, 0);
try {
Thread.sleep(12);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class drawCar extends JPanel {
private static final long serialVersionUID = 4320980242217677298L;
int width = getWidth();
int height = getHeight();
public void paint (Graphics g) {
Color bodyRed = new Color (255, 0, 0);
Color tailLightRed = new Color (168, 0, 0);
Color handle = new Color (196, 196, 196);
Color tire = new Color (36, 36, 36);
Color hubCap = new Color (255, 128, 48);
Color headLamp = new Color (255, 255, 194);
Color smoke = new Color (41, 41, 41);
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Font font = new Font("Sans-serif", Font.ITALIC, 9);
g2.setFont(font);
// rear bumper
g.setColor(Color.white);
g.fillRect(15, 140, 25, 10);
g.setColor(Color.black);
g.drawRect(15, 140, 25, 10);
// running board
g.setColor(Color.white);
g.fillRect(90, 140, 140, 10);
g.setColor(Color.black);
g.drawRect(90, 140, 140, 10);
...
}
}
当我尝试编译文件(Car.java)时遇到了麻烦。我已经尝试了几种不同的方法来编译Car.java。这是我经常看到的错误消息:
&#39; javac的&#39;不被识别为内部或外部命令,可操作程序或批处理文件。
我已经将javac.exe的位置路径添加到环境变量列表中,但据我所知,它没有做任何好处。我仍然告诉他&#39; javac&#39;没有得到认可。如果我将目录更改为javac.exe的位置并尝试编译,则javac.exe可以正常工作,但我被告知找不到Car.java。如果我然后使用-sourcepath来识别Car.java的位置,那么就会出现这种情况:
javac:没有源文件
是否可以将此应用程序转换为applet 而无需通过编译器运行它?换句话说,我可以只修改.java文件中的代码并将其更改为.class文件吗?
如果我的代码可以改进,我也愿意听取意见;但是,由于我的代码(即使不理想)仍能产生预期效果,我现在主要关注的是将其转换为小程序。
答案 0 :(得分:0)
你能展示你修改过的PATH变量吗?
最简单的解决方案是使用源代码位置的完整路径运行javac:
c:\location_of_CarJava>"c:\Program Files\Java\jdk1.8.0_45\bin\javac.exe" ...