Java GUI Swing模型说明

时间:2008-12-16 01:31:59

标签: java swing user-interface jframe

我已经和Swing一起工作了一段时间,但JFrame s,paint()super等的整个模型/结构在我的脑海中都是模糊不清的。 我需要一个明确的解释或链接来解释整个GUI系统是如何组织的。

7 个答案:

答案 0 :(得分:13)

同样的事发生在我身上。实际上直到今天,我还没有完全了解它是如何工作的。

Swing是一个非常灵活的框架 - 可能过于灵活。灵活性带来了大量的抽象和抽象带来的混乱。 :)

我发现以下文章值得一读。他们帮助我更好地理解了Swing的大局。

他们很好地解释了模型和代表的工作方式。当我看到JLabelLabelUIui.update等时,它总是让我发疯。

答案 1 :(得分:2)

您是否看过Java Swing教程(点击here)?它在描述开发Swing应用程序的基础知识方面做得非常好。

答案 2 :(得分:2)

由于此问题标有JFrame,因此我会建议一些链接,以了解JFrame和其他顶级Swing容器的工作原理。

我还发现Swing已经(现在仍然)参与其中,每隔一段时间就需要查看Sun提供的文档 - 每次检查时,我似乎都学到了新的东西。

首先,Java API规范中的基础:JFrame类。 Java API规范通常提供有关类的详细信息。在这种情况下,您会注意到有几个链接,例如The Java Tutorials中的How to Make Frames部分。

除此之外,我还建议您查看The Java Tutorials中的Lesson: Using Swing Components。本课程提供了有关如何使用Swing中提供的组件以及一些有用示例的说明。

对于更多细节,我在使用Swing时发现令人困惑的部分是所有不同类型的窗格,例如ContentPaneRootPaneGlassPaneUsing Top-Level Containers部分提供有关顶级容器的容器层次结构的信息和有用的图表。 How to Use Root Panes部分详细介绍了有关Glass,Layered和Content Panes的详细信息。

答案 3 :(得分:1)

我发现Swing Explorer是了解组件层次结构的宝贵工具(特别是在复杂的GUI中)并查看属性(唉,只读:我们习惯了Firebug的方便!)。它有一个Eclipse插件。

答案 4 :(得分:0)

Chet Haase和Romain Guy的

Filthy Rich Clients是一本关于Java UI的好书。它也涵盖了一些更高级的东西,但介绍和第一章很少解释基本的事情。

答案 5 :(得分:0)

如果在阅读Swing教程后,您发现您对更高级的主题感兴趣,您可能还希望看看Robinson和Vorobiev的Swing Second Edition

答案 6 :(得分:0)

我发现只需在源代码中浏览(如果你使用的是NetBeans,则按住ctrl键点击一个名字)真的很有帮助。如果我在完成对话框中看到一个我不熟悉的方法,我只需点击“转到来源”然后环顾四周,直到我对它感到满意为止。