# 调整组件大小

> 原文： [https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/size.html](https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/size.html)

您是否曾经需要将较小版本的组件放置在工具选项板或工具栏上或状态栏中？您可以通过在组件上设置客户端属性来调整组件的大小。除“常规”尺寸外，还支持三种尺寸：迷你型，小型和大型。

不支持大小变体属性的一个组件是`JLabel`。但是，您可以通过更改其字体大小来更改标签的大小。

* * *

**Note:** 

其他外观实现，例如 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)`](https://docs.oracle.com/javase/8/docs/api/javax/swing/SwingUtilities.html#updateComponentTreeUI-java.awt.Component-) 方法。以下代码段更新窗口及其包含的所有组件：

```
JFrame frame = ...;

SwingUtilities.updateComponentTreeUI(frame);

frame.pack();
frame.setVisible(true);

```