我正在尝试为我的项目制作一个小型客户端 GUI,它应该由客户端通过网络获取命令。
对于服务器,我正在使用处理,因为我需要一个好看的 Canvas ,因为我想用投影仪投影它。但对于输入,我不想使用处理,因为它没有按钮、下拉菜单或文本字段(或者至少我没有找到它的库)。
因此,我将Processing 库添加到我的Eclipse IDE 中,并使用Java 库来显示屏幕、按钮和其他内容。我仍然需要使用 processing.net.Client
来支持客户端和服务器之间的连接,但 processing.net.Client
希望将父级 PApplet
作为参数。由于我没有对显示进行处理,因此我没有 PApplet
(我想我现在有一个 JFrame
)。这导致了我现在无法解决的问题。
myClient = new Client(~Here should be a PApplet~,"127.0.0.1",port);
感谢您的帮助
最佳答案
听起来您正在使用处理的 Network图书馆。
如果是这样,Client
类需要一个 PApplet
参数,因为该库设计为从处理草图中使用。您可以在the reference中找到更多信息.
至于为什么,你可以看一下Client
类的源码here 。看起来 Client
类使用 PApplet
类来做一些事情,特别是设置方法回调。
您可以为您的客户端创建一个虚拟 PApplet
实例。如果您这样做,请确保定义/调用任何必要的函数,以便回调起作用。
或者您可以使用不需要处理的更通用的网络库。
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 .
关于java - 为什么我必须向家长提供创建客户的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55640620/