Java GUI问题?

时间:2012-02-28 04:06:28

标签: java user-interface

所以目前我正在尝试用Java创建我的第一个简单游戏,并且我已经开始处理GUI了。我已经计划好了我想要的UI看起来如何,但我没有花太多时间在Java中处理GUI,所以我有点迷失。我不明白GUI是否应该是逻辑上的单独实体,或者是否构建在同一个类中。例如:我有一个持有颜色和值的卡类,但是编写一个单独的类只是为了显示和使用图形来表示其动作监听器使用我的实际对象Card类的逻辑的卡更好吗?或者我只是将GUI和逻辑编码到一个类中,因为那时我必须扩展JComponent而不是我的原始卡类。

另外,我真的很困惑专业外观的GUI看起来像编码方式?就像游戏英雄联盟一样,客户端是用Java编写的,而Frame甚至不是原生的Windows框架。按钮和框架以及编码的所有自定义图片都不像按钮,或者是扩展JComponent等的组件?我对AP计算机科学的编程逻辑非常了解,但是对于我想要完成的工作而言,这个课程对于GUI来说非常基础,而且我无法在Google上的任何地方找到专业技术和实践。

我目前使用的是Netbeans IDE

3 个答案:

答案 0 :(得分:4)

您将通过经验学到很多东西。

许多最先进的界面甚至看起来都不再像Java了。至少顶级扩展JComponent,但按钮不一定必须。主应用程序可以使用自定义绘制方法进行自定义外观或其他库来显示三维图像。一旦您有使用许多不同组件和库的经验,您将开始看到它们如何组合在一起形成一个有凝聚力的应用程序。

要解决您的对象模型问题,请务必从对象中添加单独的类来显示它们。一个对象最终可以被应用程序的不同部分使用,通过网络传输,显示在屏幕上,作为文本发送,或任何数量的不同事物。如果你试图将所有这些代码放入对象模型中,那将是一团糟。

尝试在对象上构建常识方法。考虑在与这些对象交互时,应用程序的所有不同部分将使用哪些方法,问题和属性。任何一次性的东西只在一个地方有用,不要把它放在主对象类中。

另外,请记住,您始终可以移动功能。使用像Eclipse这样的好IDE可以轻松地将类的方法,属性和其他部分提升或下推到超类或子类中。如果您编写了一些处理对象的功能,请将其放在使用它的模块中。当您在另一个模块中需要相同的功能时,将其移动到您的对象模型,以便可以共享它。使用正确的工具很容易。

答案 1 :(得分:0)

如果您正在使用AWT或Swing GUI,我建议使用像Netbeans这样的IDE,它有一个用于AWT和Swing的内置GUI构建器。无论您是否想要使用它,它都可以帮助您学习构建GUI的一种方式。

正如评论家提到的教程也非常好,虽然我个人认为书籍比在线教程更容易阅读。

此外,代码完成对于阅读Java Docs以及了解每个类的可能方法非常有用。

答案 2 :(得分:0)

首先,您应该有一个关于Java的清晰概念。我建议您使用Swing和IDE NetBeans。您将在NetBeans网站和youtube找到良好的GUI相关教程。希望对您有所帮助。