【发布时间】:2014-10-08 15:34:35
【问题描述】:
我想制作一个应用程序,它可以作为多个服务器的接口。 原因:在默认提供的 web iface 中(我们无法更改),我们遗漏了一些东西,很少有可以做得更好的东西,而且某些东西的自动化肯定会使工作变得更容易。
我有什么:几乎完成了与服务器应用程序的 Web 界面通信的类。
界面说明: 对于某种版本 0.1:用户名文本字段、选择服务器的单选按钮和一个“开始”按钮。然后是几个(4-12)个操作按钮来操作数据,2x 带有结果的文本区域,一个带有一些文本数据的标签 - 我可以管理这个。 然后我需要查看数据 - 将加载数据的网格 MxN,预期大小:7-15 列,通常 10 行或更少,但很少会超过 1k(甚至更多,但我不需要全部在这种情况下对用户可见)。
我需要什么:只是一个建议。 我希望从一个简单的版本开始(我已经在做这个了,但是我被困在太多的事情上——95% 的 cos 和 GUI 的绝对新手和 5% 的 cos 我是 java 新手)。 我检查了很多教程,但它们都很简单。
真正的问题:
1) 验证。在 MVC 控制器中应该处理所有用户操作 - 它是由视图的方法完成的,类似于 button.addActionListener(param); anotherButton.addActionListener(paramp; ...?
1b) 我已经看到所有这些都是通过一个(嵌套)类实现的,然后该类正在检查源代码或 smth - 可以吗?会有很多按钮等。
2) 如何实现数据网格,当我需要对 click / dbl click 进行操作时?
4) 第一行是标题,其余的应该是可滚动的 - 它应该在网格中还是外部(它自己的网格):
4a) 如何确保标题的大小(宽度)与数据中的相同(我不想设置直线大小)
4b) 到目前为止,我未能创建任何可滚动的内容,但我猜那是我的错。如何确保 header 将保持在一个位置,其余的可以滚动?
5) “数据更新”应该如何实现?我有JPanel,我从中删除了网格组件,然后我制作了一个新的并将数据添加到其中(很简单,但也许还有另一种方法)。第一个增强功能将是排序 - 使用与新内容相同的方式?
非常感谢您的回答,我知道这不是很具体,但我发现的例子太简单了。
我计划了很多改进,但那是在将来,我不介意多次返工 GUI/Controller,至少,我会练习,但我不想完成一部分代码并意识到我必须重写一半的控制器和 1/4 的视图才能使其成为可能。
注意:我计划在工作中使用它作为我的工具(如果一切顺利,我只需点击几下就可以完成 25-50% 的工作 :-) 所以我真的是这个意思)。
注意#2:我对编程并不陌生,但我从未创建过 GUI(这就是为什么我有带有 2 个项目和 3 个组件的菜单栏的 GUI,并且几乎完成了 web-iface 连接)。
注意#:3 可拖动的数据标题,选项卡式数据视图 - 这就是未来的计划 :-)
【问题讨论】:
-
对不起,看起来很明显,但为了回应“我找到的所有教程都很简单”......你搜索过“高级 java swing 教程”
-
我看到您有很多问题,作为提示,通常最好只通过 Post 提出一个问题,这样人们更容易实际阅读并最终回答。它还可以让您更轻松地确保问题清晰易懂。
-
@snickers10m:是的,有高级 GUI 示例等,但没有功能(或通过匿名侦听器实现的非常简单的功能)。我希望我的代码可读,这很快就会消失。
-
@leparlon:我知道如何要求诚实。我真正需要的是几句话,例如:1 - 是的,通常是用户,1b)您可以创建几个嵌套类来处理这个问题。 2)您可以定期实现网格并为整个网格+函数添加一个MouseEvent处理,该函数可以通过鼠标位置获取元素......类似的东西基本上我可以实现这个,但我不确定它是否不会以后给我带来很多麻烦。
标签: java swing user-interface architecture