此Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用已不再可用的技术。
请参阅Java语言更改,了解Java SE 9及以后版本中更新的语言特性的概述。
请参阅JDK发布说明,了解所有JDK版本的新功能、增强功能以及已删除或已弃用选项的信息。
您是否曾经需要一个较小的组件放置在工具栏或状态栏中?您可以通过在组件上设置客户端属性来调整组件的大小。除了“常规”大小外,还支持三种大小变体:迷你(mini)、小(small)和大(large)。
唯一不支持大小变体属性的组件是JLabel
。但是,您可以通过更改标签的字体大小来更改标签的大小。
其他外观实现,如Apple的Aqua,可能也会支持大小变体客户端属性。Nimbus目前是唯一支持大小变体的Sun外观。
您可以在组件显示之前,用一行代码设置组件的大小。以下代码片段展示了如何使用每种大小:
// 迷你(mini)大小 myButton.putClientProperty("JComponent.sizeVariant", "mini"); // 小(small)大小 mySlider.putClientProperty("JComponent.sizeVariant", "small"); // 大(large)大小 myTextField.putClientProperty("JComponent.sizeVariant", "large");
如果您已正确设置了大小变体属性,但组件以其“常规”大小显示,可能需要强制更新UI。您可以在窗口显示之前调用SwingUtilities.updateComponentTreeUI(Component)
方法来实现。以下代码片段更新窗口及其包含的所有组件:
JFrame frame = ...; SwingUtilities.updateComponentTreeUI(frame); frame.pack(); frame.setVisible(true);