学习Java Swing(GUI构建器与否?)

时间:2010-05-18 23:07:59

标签: java swing netbeans

我知道基本的Java并且想学习Swing,所以当然首先查看Sun网站,其中this tutorial是。我打算开始它,但意识到它严重依赖NetBeans,我不确定。

我不确定,因为它是学习我想要实现,而不是一个漂亮的程序。

所以我认为一旦我知道它就会使用像这样的NetBeans,但是我不想在没有线索的情况下构建一些东西,当然这也可能会导致问题。

我的第一个问题是这是正确的方法,我应该尽量不依赖IDE吗?通过查看网站上的问题,大多数人建议使用Sun教程,我只看到一个与我正在思考的内容一致的答案,并且它们与this resource相关联,这看起来很有希望。 或者我可能对Sun教程有错误的想法,也许它不依赖于IDE,它就像是这样。

我的第二个问题是,如果您同意我的意见,您会推荐哪些资源(除上述资源外)?

感谢您的回答。

7 个答案:

答案 0 :(得分:7)

我不会说Sun在他们的教程中依赖于NetBeans,因为NetBeans是Sun的IDE。

我使用Eclipse进行Java开发。一个好的IDE可以帮助您完成繁忙的工作,因此您可以专注于手头的问题。

如果你想学习Swing,我推荐The Definitive Guide to Java Swing, Third Edition。本书将逐步介绍布局和小部件,使用和强化GUI开发的MVC模式。

对于高级Swing开发人员,我建议Swing Hacks: Tips and Tools for Killer GUIs。本书向您展示了使GUI流行的一些技巧。

答案 1 :(得分:1)

教程主要是关于代码。这只是关于NetBeans的一章。其余部分是关于Swing的,可以在任何IDE中完成。

我不建议使用GUI构建器,只是因为正如您所说,您无法理解底层发生了什么。从简单的窗口开始,逐步添加GUI组件并与它们进行交互。了解MVC做事方式的优势。

我能给出的最佳建议是不要坐下来“学习”Swing。选择一个你感兴趣的项目,你可以使用Swing。通过记住工作计划的目标,您将更好地避免教程提供的课程。

答案 2 :(得分:1)

看来你是秋千的初学者。我建议不要依赖Netbeans来开发swing UI。尝试仅通过编写代码来设计UI。这将提高您对秋千的知识基础,然后您可以根据需要使用GUI构建器。

答案 3 :(得分:1)

我从来没有发现GUI构建器在Java中非常有用。 NetBeans非常好,但我强烈建议您构建自己的GUI。

另一方面,你可能会发现Swing GUis有点冗长。还有其他选择,Java-FX显然有一种声明性语言,您可以在用Java编写其他所有内容时定义GUI。

Groovy在Swing上有一个很好的声明性语法层,可以让你在开始时更容易。

如果你想试验Swing,我建议在Groovy或BeanShell中使用它。只需输入即可快速输入:

f=new JFrame("My Frame")
f.setVisible(true)
f.setSize(300,600)

并看到您的相框显示在屏幕上。 (Groovy和Beanshell都很好地处理Java语法 - 它不像你没有学习Swing - 它更像是你在解释器而不是编译器中学习它...

顺便说一下,如果你不想使用Java的语法,那么Groovy 可以使这样的语句变得更加容易(我可能只是一点点就错了)

f=new JFrame(name="My Frame", visible=true, size=[300,600])

将其从3行或4行更改为1行。

答案 4 :(得分:1)

我总是以低级别的方式学习新的框架。

  1. 如果我必须使用命令行编译源文件,学习一种新的编程语言已证明对我来说是最好的。使用类似xCode的IDE会使理解基础
  2. 变得更加困难。
  3. 我很难学习理解Eclipse平台的基本概念,因为几乎所有的教程都告诉你要点击Eclipse GUI。没有最新的教程告诉哪些行添加到什么XML文件以及事物如何组合在一起。幸运的是,这对于Swing来说简单得多。
  4. 因此我建议:不要使用GUI构建器进行学习,因为它隐藏了所有有助于真正理解正在发生的事情的重要事项。使用一个好的Java / Swing教程并开始键入您的应用程序。了解基础知识后,可以使用GUI构建器进行原型设计。

答案 5 :(得分:0)

实际上,这些教程确实多次引用Netbeans,但通常仍会告诉您如何在代码中执行操作。一旦你掌握了Swing的一般工作方式,你就可以在需要的时候阅读每一个。

例如,Using Swing Components对每个标准UI组件都有(或多或少)深入的注释,Laying Out Componnents包含有关标准布局管理器的详细信息。

那些 - 至少对我而言 - 是我回归最多的事情。并且与Netbeans进行了非常简短的联系,我再也没有触及过它的GUI构建器。

答案 6 :(得分:0)

我认为你应该先学习这门语言。使用IDE可以提高效率,但是如果您需要使用其他IDE,我认为可能会导致出现问题。我发现这本书非常有用,Introduction to Java Programming。书中的所有例子都是代码。