java - 为什么我必须向家长提供创建客户的信息?

标签 java network-programming jframe processing

我正在尝试为我的项目制作一个小型客户端 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/

相关文章:

networking - 如何通过pcap_sendpacket发送大于1500字节的数据包?

java - 如何在 JFrame 中显示 JButton 和 JLabels?

javascript - Django:如何保存mxGraph,以便当用户刷新图表时保持不变? (异步)

java - 从 apache HttpResponse 获取响应 Uri 参数

java - 我在 Asteroids 游戏中使用 Vector2d 类是否多余?

python - python 中 getaddrinfo 失败

network-programming - 谷歌去 : binding multicast socket

java - 当我加载图像列表时仅显示一张图像

java - JTextArea 始终为空?

java - 从 `LinkedList` 中删除元素