当前位置: 首页 > 面试题库 >

秋千部件轻巧吗?

公孙高畅
2023-03-14
问题内容

每当我读到Swing时,他们都会说它们是重量轻的组件。所以我只是在Google
Swing上搜索,发现这意味着Swing不依赖于本地同级。这就是为什么它们被称为 “轻量级”
?我的意思是重量轻,我认为Swing组件可能比AWT组件占用更少的内存。不是吗


问题答案:

Swing被认为是轻量级的,因为它是完全用Java实现的,而无需调用本机操作系统来绘制图形用户界面组件。

另一方面,AWT(抽象窗口工具箱)是重量级的工具箱,因为它仅调用操作系统以产生其GUI组件。

《AWT上的绘画》和《
Swing》一
文中“ Swing
Paint系统
”的演变部分解释了轻量级和重量级之间的区别:

当为JDK 1.0开发原始AWT
API时,仅存在重量级组件(“重量级”表示该组件具有其自己的不透明本机窗口)。这使AWT可以非常依赖每个本机平台中的绘画子系统。

[…]

随着JDK
1.1中轻量级组件的引入(“轻量级”组件是重用其最接近的重量级祖先的本机窗口的组件),AWT需要在共享Java代码中实现轻量级组件的绘制处理。

由于Swing是用Java实现的,因此确实存在一些性能劣势,但是,我听说在Java的最新发行版中性能有所提高。

Swing的优势在于,与AWT中提供的组件相比,它具有更多可用的组件,例如,JTable并且JList具有更多的图形和可扩展性,从而允许开发更多的图形丰富的应用程序



 类似资料:
  • 问题内容: 我想自定义JTextField对象的高度和宽度。我尝试使用setSize方法,将宽度和高度作为尺寸和int传递。但是它们似乎都不起作用。我是否缺少某些内容,例如面板上的一些强制性方法调用或某些使大小自定义有效的内容?请帮忙。提前致谢。 编辑:这是一些代码: 问题答案: 让布局管理器照顾您的Swing组件的尺寸,但是如果绝对必要,请与尊重该属性的布局管理器结合使用。

  • 问题内容: 我是新手,不胜感激。 在这段代码中,我要把一张卡片面朝上,如果发现它们不匹配,我希望它们再次面朝下。 此刻正在发生的事情:1.单击第一张卡片时翻转2.单击第二张卡片时,发生以下两种情况中的任何一种(a)如果它们相同,它们都停留在我想要的状态(b)如果它们并不相同,我根本看不到第二张卡,因为第二张卡会立即重新显示卡的背面(以及我的方法中定义的上一张卡的背面)。 我以为放入睡眠计时器可能会

  • 问题内容: 我目前正在尝试实现一个Swing组件,从该组件继承应该仅代表可以垂直定向的标签。 从此开始: 我认为仅更改来自的结果是一个好主意: 然后在我将绘画卸载到原始图像之前简单地转换对象: 似乎可以某种方式起作用,因为现在可以垂直显示文本。但是,放置和大小已关闭。 实际上,背景的宽度(在这种情况下为橙色)与周围的高度相同,这与我的想法不尽相同。 有什么想法如何以适当的方式解决这个问题吗?是否甚

  • 问题内容: 我已经将一些JPanels放到另一个JPanel中,它的布局是Box Layout和Y轴。在放置所有面板之后,我需要从JPanel容器面板中获取每个添加的JPanel的Y位置。但是,当我尝试获得该值时,每个JPanel的Y位置总会得到零。请告诉我如何从JPanel容器JPanel获取每个Jpanel的Y位置。 这就是我所做的 问题答案: 将您的内容添加到s的 contentPane中,

  • 问题内容: 来自.NET,我习惯于Ninject,这是一个很小的简单ioc容器。Java有什么简单而轻巧的东西吗? 越简单越好! 问题答案: Pico容器或google- guice 。在这里查看比较。 顺便说一句,很少有人会致电春“ligthweight”,但它 可以 被用作这样的,只有基本功能。因此,它包含在上面的比较中。

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我有一个单用户Java程序,希望将数据存储在轻量级数据库(例如Derby或Sqlite)中。我想在程序中使用数据抽象层。Hibernate似乎需要大量配置,并且