Java 处理中的标准(Processing.org)

Java 处理中的标准(Processing.org),java,input,processing,Java,Input,Processing,这个简单的代码在处理过程中从未对我起作用: try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String str = ""; while (str != null) { System.out.print("> prompt "); str = in.readLine(); println(str); } } catch (IOExcept

这个简单的代码在处理过程中从未对我起作用:

try {
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  String str = "";
  while (str != null) {
    System.out.print("> prompt ");
    str = in.readLine();
    println(str);
  }
} 
catch (IOException e) {
}

可能是因为控制台输出框不能用于输入,这与Eclipse不同。是否有一个简单的解决方法,或者我是否被迫执行类似于标准in的对话框(或按键处理)之类的操作?

如果您使用的是Processing IDE,则Processing本机不支持此行为。如果导出草图并编辑java文件,或使用等,则可以访问System.in。但是,与任何其他java应用程序一样,这会破坏处理的目的,因为它通常不从命令行运行,本质上是图形

最佳实践是使用按键方法捕获密钥。例如:

String str = "";

void keyPressed() {
    str += key;
}
然后在draw()循环/方法中,可以处理str上的文本输入,并根据需要清除它


如果您想要更复杂的东西来提供更好的用户体验,我建议使用TextField或TextArea之类的东西。

如果您使用的是处理IDE,则处理本身不支持这种行为。如果导出草图并编辑java文件,或使用等,则可以访问System.in。但是,与任何其他java应用程序一样,这会破坏处理的目的,因为它通常不从命令行运行,本质上是图形

最佳实践是使用按键方法捕获密钥。例如:

String str = "";

void keyPressed() {
    str += key;
}
然后在draw()循环/方法中,可以处理str上的文本输入,并根据需要清除它


如果你想要更复杂的东西,有更好的用户体验,我建议使用TextField或TextArea之类的东西。

你的程序工作得很好(我称之为test),并将其导出为小程序。我使用cygwin和windows命令提示符进行了测试:

$ cd test/applet
$ java -jar test.jar
输出(我键入“hello”并按enter键):

我通过ssh在Ubuntu终端上快速地进行了尝试。我在将其连接到x11服务器时遇到问题。考虑:如果这是一个问题

只是为了确认一下,我能够运行库->网络中包含的SharedCanvasServer示例,我在其中添加了System.out.println以将调试转储到执行终端

java -cp "core.jar;net.jar;SharedCanvasServer.jar" SharedCanvasServer

您的程序运行良好(我将其命名为test),并将其导出为Applet。我使用cygwin和windows命令提示符进行了测试:

$ cd test/applet
$ java -jar test.jar
输出(我键入“hello”并按enter键):

我通过ssh在Ubuntu终端上快速地进行了尝试。我在将其连接到x11服务器时遇到问题。考虑:如果这是一个问题

只是为了确认一下,我能够运行库->网络中包含的SharedCanvasServer示例,我在其中添加了System.out.println以将调试转储到执行终端

java -cp "core.jar;net.jar;SharedCanvasServer.jar" SharedCanvasServer

似乎您必须通过处理键盘事件来实现这一点:您是否尝试过从命令行运行导出的jar,并使用它向stdin提供输入?你到底想在这里干什么;有什么原因不能使用eclipse吗?似乎必须通过处理键盘事件来实现:您是否尝试过从命令行运行导出的jar,并使用它向stdin提供输入?你到底想在这里干什么;你为什么不能使用eclipse?谢谢。我过去一直在使用core.jar和PApplet's。他们真的应该解决这个问题。我把这个标记为答案。谢谢。我过去一直在使用core.jar和PApplet's。他们真的应该解决这个问题。我把这个作为答案。