我创建了以下java文件:
import java.awt.*;
public class Text {
public static void main(String[] args) {
String str = "I AM A SENTENCE";
String[] lines = wrap(str, 5);
for (int i=0;i<lines.length;i++) {
if (lines[i] != null) System.out.println(lines[i]);
}
Font myFont = new Font("Impact", Font.BOLD, 36);
System.out.println(String.valueOf(charToPixel(str, myFont)));
}
public static String[] wrap(String str, int w) {
char[] string = str.toCharArray();
System.out.println("string.length: " + String.valueOf(string.length));
int charCounter = 0;
String[] line = new String[20];
String work = "";
int x = 0;
for (int i=0;i<string.length;i++) {
charCounter++;
System.out.println("charCounter: " + String.valueOf(charCounter));
System.out.println("i: " + string[i]);
if (charCounter > w) {
charCounter = 0;
System.out.println(String.valueOf(x));
line[x] = work;
x++;
work = "";
i--;
}
else {
work += string[i];
}
}
line[x] = work;
return line;
}
}
现在,我还创建了一个简单的applet,我想用它来接收String [],然后使用Graphics.drawString()逐个输出它。
我使用默认清单和前一个类文件创建了一个.jar文件。 jar文件中的类文件目录如下:Dennis \ Text.class。
我将我的jar添加到了CLASSPATH中。
我使用import语句如下:import Dennis.*;
然而,当我编译applet时(顺便说一下,Text.class编译得很完美) 我收到以下编译错误:
错误的类文件:B:\ Apps \ Java \ JDK \ lib \ Text.jar(Dennis / Text.class) 类文件包含错误的类:文本 请删除或确保它出现在类路径的正确子目录中。
据我所知,我把所有东西放在正确的位置,导入声明成功。
那么我做错了什么?
答案 0 :(得分:2)
jar文件中的类文件目录如下:Dennis \ Text.class。
不应该。它不在任何包中,因此它应该直接位于jar文件的根目录中。理想情况下将放在一个包中(不是Dennis
,这违反了Java命名约定),然后使你的jar文件结构与包结构相匹配。