学习Java Swing(是否使用GUI构建器?)

学习Java Swing(是否使用GUI构建器?),java,swing,netbeans,Java,Swing,Netbeans,我知道基本的Java,想学习Swing,所以我首先看了Sun的网站,它在哪里。我本来打算启动它,但意识到它严重依赖于NetBeans,对此我并不确定 我不确定,因为这是我想学习的东西,而不是一个好看的程序 所以我认为,一旦我知道了,像这样使用NetBeans会很好,但我不想在不知道下面发生了什么的情况下构建东西,当然这也可能会在以后导致问题 我的第一个问题是,这是正确的方法吗?我是否应该尽量不过度依赖IDE?浏览网站上大多数人推荐使用Sun教程的问题,我只看到一个答案与我的想法一致,并且它们与看

我知道基本的Java,想学习Swing,所以我首先看了Sun的网站,它在哪里。我本来打算启动它,但意识到它严重依赖于NetBeans,对此我并不确定

我不确定,因为这是我想学习的东西,而不是一个好看的程序

所以我认为,一旦我知道了,像这样使用NetBeans会很好,但我不想在不知道下面发生了什么的情况下构建东西,当然这也可能会在以后导致问题

我的第一个问题是,这是正确的方法吗?我是否应该尽量不过度依赖IDE?浏览网站上大多数人推荐使用Sun教程的问题,我只看到一个答案与我的想法一致,并且它们与看起来很有希望的答案相关联。 或者我对Sun教程的理解有误,也许它不依赖IDE,只是看起来像这样

我的第二个问题是,如果你同意我的观点,你会推荐什么资源(除了上述资源之外)


感谢您的回答。

实际上,这些教程确实多次引用Netbeans,但通常仍会告诉您如何使用代码进行操作。一旦你相当好地掌握了Swing在一般情况下是如何工作的,你可能会在需要的时候阅读其中的每一篇

例如,对每个标准UI组件都有(或多或少)深入的说明,并有关于标准布局管理器的详细信息


这些是——至少对我来说——我最喜欢的东西。除了简短地接触Netbeans之外,我再也没有接触过它的GUI构建器。

我认为您应该先学习该语言。使用IDE可以提高效率,但是我认为如果需要使用不同的IDE,可能会导致问题。我觉得这本书很有用。本书中的所有示例都是代码。

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

我不建议使用GUI构建器,因为正如您所说的,您无法理解下面发生了什么。从简单的windows开始,逐步添加GUI组件并与之交互。了解MVC做事方式的优势


我能给你的最好建议就是不要坐下来“学”挥杆。选择一个你感兴趣的项目,你可以使用Swing来完成。通过将工作计划的目标牢记在心,您将更好地吸收教程所提供的课程。

您似乎是秋千初学者。我建议不要依赖Netbeans来开发swing UI。尝试仅通过编写代码来设计UI。这将提高您对Swigs的知识基础,然后如果您愿意,您可以使用可用的GUI生成器。

我不会说Sun在其教程中依赖NetBeans,因为NetBeans是Sun的IDE

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

如果你想学荡秋千,我推荐你。本书将逐步介绍布局和小部件,使用并加强GUI开发的MVC模式


对于高级Swing开发人员,我推荐。这本书向您展示了一些使GUI流行的技巧。

无论如何,我从未发现GUI构建器在Java中非常有用。NetBeans有一个非常好的GUI,但我强烈建议您构建自己的GUI

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

另外,Groovy在Swing上有一个很好的声明性语法层,可以在开始时让事情变得更简单

如果您想尝试Swing,我建议您在Groovy或BeanShell中使用它。这是一个非常快速的输入:

f=new JFrame("My Frame")
f.setVisible(true)
f.setSize(300,600)
然后看到你的相框出现在屏幕上。(Groovy和Beanshell都能很好地处理Java语法——这不像你没有学习Swing——更像是在解释器而不是编译器中学习它

顺便说一句,如果您不想使用Java的语法,Groovy可以通过类似这样的语句使它变得更容易(我可能有一点错误)


这将它从3行或4行改为1行。

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

  • 事实证明,如果我必须用命令行编译源文件,学习一种新的编程语言对我来说是最好的。使用像xCode这样的IDE会让我更难理解基础知识
  • 我很难理解Eclipse平台的基本概念,因为几乎所有教程都告诉您要在Eclipse GUI中单击。没有最新的教程告诉您要将哪些行添加到哪些XML文件以及这些内容如何组合在一起。幸运的是,这对于Swing来说要简单得多

  • 因此,我的建议是:不要使用GUI builder进行学习,因为它隐藏了所有有助于真正理解发生了什么的重要事情。使用一个好的Java/Swing教程,开始键入应用程序。了解基本知识后,可以使用GUI builder进行原型制作。

    Swing最大的缺点之一。它被认为是如此复杂,以至于没有GUI构建者能够有效地处理它,并且仍然允许开发人员做他们想做的事情。在用Swing编写了很多小时的UI之后,我仍然不知道如何构造代码,使其仍然可读和可维护。是的,这是我的想法。我正在考虑制作一个非常简单的游戏(或者可能先简单一点),我认为Swing可以解决这个问题。这本书看起来只是针对Java的,但它是我正在学习的Swing,我已经有了
    f=new JFrame(name="My Frame", visible=true, size=[300,600])