为什么我必须给 parent 才能创建客户端?

Why do i have to give the parent for creating a client?

我正在尝试为我的项目制作一个小型客户端 GUI,它应该由客户端通过网络获取命令。

对于服务器,我正在使用 Processing,因为我需要一个好看的 canvas 因为我想用 beamer 投影它。但是对于输入,我不想使用 Processing,因为它没有按钮、下拉菜单或文本字段(或者至少我没有找到它的库)。

因此,我将 Processing 库添加到我的 eclipse IDE 中,并为屏幕、按钮和其他内容使用了 Java 库。我仍然需要使用 processing.net.Client 来支持我的客户端和服务器之间的连接,但是 processing.net.Client 想要将 parent PApplet 作为参数。因为我没有对我的显示进行处理,所以我没有 PApplet(我想我现在有一个 JFrame)。这导致了我现在无法解决的问题。

 myClient = new Client(~Here should be a PApplet~,"127.0.0.1",port);

感谢您的帮助

听起来您正在使用 Processing 的 Network 库。

如果是这样,Client class 需要一个 PApplet 参数,因为该库被设计为从 Processing sketch 中使用。您可以在 the reference.

中找到更多信息

至于为什么,你可以看看Clientclasshere的出处。看起来 Client class 使用 PApplet class 做一些事情,特别是设置方法回调。

您可以为您的客户端创建一个虚拟 PApplet 实例。如果您这样做,请确保您 define/call 任何必要的函数以便回调正常工作。

或者您可以使用不需要处理的更通用的网络库。

I don't want to use Processing because it does not feature buttons, dropdowns or textfields (or at least I found no lib for it).

Processing 有几个 GUI 库。请参阅 libraries page.