为什么我必须让父母来创建客户?

时间:2019-04-11 20:26:51

标签: java network-programming jframe processing

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

对于服务器,我正在使用“处理”,因为我需要一个漂亮的画布,因为我想用投影仪进行投影。但是对于输入,我不想使用处理,因为它没有按钮,下拉菜单或文本字段(或者至少我没有找到lib)。

因此,我将处理库添加到了我的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);

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

如果是这样,则Client类需要一个PApplet参数,因为该库是为从Processing草图中使用而设计的。您可以在the reference中找到更多信息。

关于原因,您可以查看Clienthere的源代码。看起来Client类使用PApplet类做一些事情,特别是设置方法回调。

您可以为客户创建一个虚拟PApplet实例。如果这样做,请确保定义/调用任何必要的函数,以便回调起作用。

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

  

我不想使用处理,因为它没有按钮,下拉菜单或文本字段(或者至少我没有找到它的库)。

处理具有多个GUI库。请参阅libraries page