以团队形式构建 Swing 课程

发布于 2024-12-11 15:57:07 字数 221 浏览 0 评论 0原文

我正在与一个开发团队一起开发一个项目。我们有一位非常初级的开发人员,他可以创建良好的 UI 模型,但仅此而已。我想保留一个简单的模型 .java 文件,供初级开发人员创建 UI 的框架,并使用另一个 .java 文件来添加侦听器和其他逻辑。这样,当我们签入代码时,subversion 中就不会出现任何冲突。

我尝试创建一个模型类并扩展或包装它,但所有 swing 组件都是私有的,我无法调用它们。我还能做什么?

I'm working on a project with a team of developers. We have a very junior developer who can create good mockups of UI but that's about it. I'd like to keep a simple mockup .java file for the junior developer to create the skeleton of the UI and have another .java file for adding listeners and other logic. Then, there won't be any collisions in subversion when we check-in our code.

I tried just creating a mockup class and extending or wrapping it but all of the swing components are private and I can't call into them. What else could I do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泪冰清 2024-12-18 15:57:07

我将遵循 Spring MVC 对 Web 客户端所做的操作:

将侦听器注入到 Swing 客户端中,就像 Spring 依赖项注入一样。让 UI 开发人员只需调用侦听器实例,而无需知道它们在做什么。

它允许您将处理事件的所有逻辑保留在 Swing 视图类之外的类中。

您需要有一种方法来更新侦听器内的模型并使其可供 Swing 实例使用。

版本控制不是你的救赎;它不是你的救赎。接口是。创建接口以将视图代码与其余代码隔离。只要接口不改变,你就可以独立。

我所说的接口是指 Java 接口:

public interface Foo {
    void doSomething(ModelObject m);
}

I'd follow along with what Spring MVC does for web clients:

Inject the listeners into the Swing client, a la Spring dependency injection. Have the UI developer simply call the listener instances without knowing what they're doing.

It'll let you keep all the logic for processing events in a class that's outside the Swing view classes.

You'll need to have a way to update the model inside the listeners and make it available to the Swing instances.

Version control is not your salvation; interfaces are. Create interfaces to isolate the view code from the rest. You can be independent as long as the interfaces don't change.

By interface, I mean Java interface:

public interface Foo {
    void doSomething(ModelObject m);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文