【问题标题】:How do I implement multi-user interactions for a java-based desktop application? [closed]如何为基于 java 的桌面应用程序实现多用户交互? [关闭]
【发布时间】:2019-11-03 01:54:41
【问题描述】:

我对编程很陌生,所以请多多包涵。

对于我的大学项目,我正在开发一个使用 MySQL 实现数据库的 Java 桌面应用程序。对于 GUI,我使用 JavaFx 和 Scene Builder。 我正在制作的应用程序的灵感来自于 Google Playstore 上的某些基于 Android 的应用程序,即“Life is an RPG”和“Habitica”。它们有点像“生产力”应用程序,可帮助您将想要执行的任务添加到应用程序中,然后在完成所述任务时在应用程序中奖励您“经验值”和“金币”。它有点像老式的 rpg 问题,并试图以“类似任务”的方式组织你必须完成的任务。

这是我最初的想法。我的导师希望我添加一些功能。也就是说,他希望我的应用程序的用户能够相互组成“小组”或“聚会”,并参与某种小组活动,他们都在做同样的活动,因此,因为上述活动而获得奖励。

在浏览教程后,我设法找出并实现了该应用程序的基本功能,例如用户登录或添加任务等。但是,我无法弄清楚我该如何做这种用户与用户的交互发生在应用程序内。如果我的问题听起来有点过于宽泛,我很抱歉,但我一直在查找它,但我无法理解或想出如何告诉我的程序用户 A 正在与用户 B 交互的想法,并且他们正在共同努力完成某项任务。

我再次为相当愚蠢的问题和冗长的文字道歉。在这方面的一些帮助或澄清将不胜感激。就我需要研究和学习的内容而言,即使是正确的方向也会有很大的帮助。

谢谢。

【问题讨论】:

  • 抱歉,这个问题太模糊太宽泛,无法回答。
  • 只需将此类信息也存储在数据库中,就像其余数据一样...

标签: java javafx netbeans desktop-application scenebuilder


【解决方案1】:

由于这非常广泛,我将为您提供高级别的答案。各个桌面客户端都共享同一个数据库 (MySQL)。

因此,您可以在那里解决这个问题:在您的数据库中。

一种选择是进行某种“小组任务”。您应用的每个用户都可以注册此任务,当它“完成”时,每个人都会获得一些积分。

要管理它,您可能必须在数据库中使用表:

  • 一个任务表
  • 合作者一张桌子

每个任务都需要一个唯一的 ID,然后您可以在协作者表中引用该 ID。

Task table:

-------------------------
| ID | Task             |
=========================
| 1  | Slay dragon      |
-------------------------

Collaborators table:
-------------------------
| Task | User           |
=========================
| 1    | Moe            |
-------------------------
| 1    | Homer          |
-------------------------

在此示例中,MoeHomer 的任务是杀死一条龙。一旦龙死了,双方都可以获得一些积分。这是一个非常非常简单的例子。通常,您会有更多的桌子。至少一个给用户等等。

但除此之外,这将是高级想法。显然,您需要构建一些 UI 以允许用户参与任务等。但我相信您可以解决这个问题。

【讨论】:

  • 注明。非常感谢。这在很大程度上解决了手头的问题,我现在有了一些想法,关于如何在不涉足未知领域的情况下实施它。这非常有帮助。再次为过于模糊和广泛的问题道歉。我很难真正确定问题本身,感觉就像我陷入了无知的海洋,我不知道该怎么做。希望有了这个,我可以在进步方面取得长足的进步。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2011-02-15
  • 2015-10-06
  • 2019-11-21
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
相关资源
最近更新 更多