【发布时间】:2017-05-29 06:10:20
【问题描述】:
更新 我一直都错了。我用我正在使用但没有在此处添加的方法阻止了输出。现在它运行良好,我可以从其他进程中写入。
我想知道是否有任何方法可以从外部将一行打印到控制台视图。我有一个具有 onMessage 方法的类(class1)。
public class Class1 implements MessageListener {
...
public void onMessage(Message msg) {
System.out.println(msg.getText());
}
...
}
然后我有一个带有 main 的类,它创建这个类的一个实例,并且在做事时 Class1 的 onMessage 会触发。
public class Class2{
public static void main(String args[]) {
Class1 obj = new Class1();
...
while(!":q".equals((action = scanner.next()))){
obj.anotherAction(action);
}
...
}
}
当我尝试对象似乎被阻止时。我认为我正在接近错误的解决方案。也许从外部块调用 println 因为它没有任何地方可以打印。
我想了解发生了什么以及如何解决这个问题。我的问题是使用从 Class1 创建 Class2 main 的输出。
希望我解释清楚,我不是母语人士。
编辑 现在我添加了更多编码。我现在意识到等待标准输入可能会干扰其他类的 Print 。我应该为输出运行外部进程吗?我怎么能在同一个控制台视图上做呢?
【问题讨论】:
-
你应该看看
Looging。 -
so : obj.onMessage(new Message());不管用 ?我不知道“消息”所以我现在不知道它是如何工作的
-
是您尝试在 main 中创建 Class1() 对象时出现的问题吗?
-
你应该添加控制台的错误信息。
-
“对象似乎被阻止”是什么意思?另外,“使用从 Class1 创建 Class2 main 的输出”是什么意思?你想完成什么?
标签: java class events printing main