gpt4 book ai didi

java - 将后端绑定(bind)到 gui java

转载 作者:搜寻专家 更新时间:2023-10-31 20:06:00 25 4
gpt4 key购买 nike

我最近开始在 Swing 中开发一个 GUI,以放置在我使用 Smack API 用 Ja​​va 编写的简单 XMPP 客户端之上。我遇到的问题是试图弄清楚如何将按钮点击转换为客户端上的操作,而不必被迫编写意大利面条代码将所有内容联系在一起。

您是否知道任何示例/教程会显示比“哦,看,我在屏幕上放了一个按钮”更复杂的 Swing 应用程序?不幸的是,我的 google-fu 似乎只返回这些简单入门级类(class)的无数变体。我很乐意接受您知道我可以研究的开源应用程序。即使只是从“EventHandlers”这样的主题开始也会令人惊叹。

对于我的问题含糊不清,我深表歉意,但我觉得此时我只是在谷歌中搜索符号。 (除非您已经知道 IE 的名称,否则将符号输入 google 是没用的)。如果我不清楚,请提及在哪里,我会尽力澄清。谢谢。

最佳答案

学习如何使用 Swing 很容易。学习如何有效使用 Swing 并不容易。这是其中之一 wicked problems你必须先把它弄错几次。

也就是说,我推荐的两个最重要的概念是正确使用 Action APISwing concurrency .通过定义可以链接到任意数量的可视组件的操作,正确使用 Action API 将使您的 Controller 代码保持模块化。例如,您可以将同一操作与菜单项、按钮或键盘快捷键相关联。使用 SwingWorker 等并发技巧,您可以执行长时间运行的任务,而无需卡住用户界面,也无需重新发明轮子或手动操作不同的工作线程。

我要给出的另一条一般性建议是研究模型- View - Controller ,正如其他发帖者所建议的那样(尽管从技术上讲 Swing 将 View 和 Controller 捆绑在一起)。创建代表您希望用户能够操作的数据的模型,并使用您自己的自定义事件和监听器将该信息传递给 View 。换句话说,不要害怕重写 EventObject 来表示应用程序状态的不同变化。这也让您拥有一个模型对象(在您的情况下,可能是一个联系人列表),您可以将不同的 View 挂接到其中,而无需更改底层结构。

哦,还有一个小问题——如果您的操作不需要 需要可重用,那么从 ActionListener 派生的一个不错的匿名内部类比将 View 类本身作为 ActionListener 更具可读性。每次看到 component.addActionListener(this) 我都会不寒而栗。

话虽这么说,最好的学习方法就是边做边做,所以请继续尝试,找出适合您的策略。

关于java - 将后端绑定(bind)到 gui java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com