【问题标题】:General Question about Swing Components关于 Swing 组件的一般问题
【发布时间】:2011-01-25 05:41:10
【问题描述】:
我想知道摇摆组件本身是如何制作的。看起来 JComboBox 是由一个 JButton 组成的,当您单击它时,它下方会出现一个 JList。这是制造组件的一般方式吗?组件本身是由更小的组件组成的吗?如果是这样,那么最小的组件实际上是如何创建的?像 JLabel 或 JButton。
这会让我想到 JLabel 和 JTextField 类似于 java 中的 int 和 double 原语。
谢谢
【问题讨论】:
标签:
java
user-interface
swing
【解决方案2】:
某些组件可能是使用其他组件制作的,或者是围绕较旧的 AWT 组件构建的。但最终,所有 GUI 功能都必须基于 VM 中的某些平台相关功能,例如在 Windows 中,如果您跟踪所有的间接层,您最终会在某个时候调用Windows GDI。
【解决方案3】:
Java 中的第一个 GUI 工具包是 AWT。
AWT 通过调用本机库来显示 GUI 组件来提供其功能。
另一方面,Swing 的组件(Swing 是与 Java2D 一起引入的)不对应于本地组件。
Swing 的组件是使用 Java2D 绘制的,允许程序员自定义绘图,以便应用程序可以具有程序员想要的外观。
这样做的好处之一是允许平台互操作性(因为它不需要检查哪些本机库可以委托)以及提供本机库中不存在的额外小部件。