|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Вы когда-либо нуждались в уменьшенном варианте компонента, чтобы поместить в инструментальный набор или панель инструментов, или в строке состояния? Можно изменить размеры компонента, устанавливая клиентское свойство на компоненте. Три размера поддерживаются в дополнение к "регулярному" размеру: мини-, маленький, и большой. Следующий снимок экрана, взятый от Laffy, показывает эти четыре размера рядом.

Один компонент, который не поддерживает свойство разновидностей размера, JLabel. Однако, можно изменить размер метки, изменяя размер ее шрифта.
Другие реализации стили, такие как Вода Apple, могли бы также соблюдать клиентское свойство разновидностей размера. Нимб является в настоящий момент единственным стилем 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);