我为程序创建了一个自定义控制台。我有一个方法可以向控制台添加一条名为 toConsole 的消息,这会询问它检查的字符串并将时间添加到字符串中。然后它转到我的函数 addConsole ,它检查是否存在现有文本,如果存在,它会将预先存在的文本添加到新文本中,否则它只是将新文本放入。所以这是错误。我还可以指出,如果我在控制台输入文本框中手动输入文本,它不会产生此错误。
Exception in thread "main" java.lang.NullPointerException
at com.michael.tech.api.console.RunConsole.addConsole(RunConsole.java:188)
at com.michael.tech.api.console.RunConsole.toConsole(RunConsole.java:204)
at com.michael.tech.api.console.RunConsole.toConsole(RunConsole.java:223)
at com.michael.tech.api.testerFile.main(testerFile.java:25)
这是 addConsole 方法
private static void addConsole(String s){
console.setText( ( console.getText().isEmpty()) ? s : (console.getText() + "\n" + s) );
}
toConsole 方法
public static void toConsole(String s, boolean timeStamp, boolean classPath, String className){
if(s.startsWith("/")){
doCommand(s);
return;
}
Time t = new Time();
t.getSYSPrint();
String time = "[" + t.toMilitary() + "] ";
if(EchoTime || timeStamp){
addConsole(time + s);
}
else if(classPath){
addConsole(className);
}
else{
addConsole(s);
}
}
最后是 testerFile 类中的 Main 方法
public static void main(String[] args) {
RunConsole.startConsole();
RunConsole.toConsole("test");
}
提前感谢您的帮助。我认为这是我忽略的一些小错误(我也希望如此)。
编辑:粘贴 bin 以查看行号
RunConsole 类 http://pastebin.com/2yUAwQc5
testerFile 类 http://pastebin.com/R5ViLekp