2011-01-29 4 views
3

Я пытался делатьЖирный TitledBorder

UIManager.getDefaults().put("TitledBorder.font", Font.BOLD); 
contentPanel.setBorder(new TitledBorder("Client Downloader")); 

Но это не делает его смелым. Он просто выглядел разнесенным.

Это неправильный путь?

ответ

7

Вы отмечаете вопрос как принято, но в комментарии говорится, что он не работает. Я бы согласился, что он не должен работать.

Font.BOLD 

не является шрифтом. Это свойство шрифта. Если вы хотите изменить шрифт вы можете сделать:

TitledBorder border = new TitledBorder(...); 
border.setTitleFont(border.getTitleFont().deriveFont(Font.BOLD + Font.ITALIC)); 

Я добавил наклонный, чтобы показать вам, что код работает, так как мне кажется, что в Metal LAF по умолчанию является жирным шрифтом.

+0

+1 Интересно, что некоторые демоверсии L & F явно отключили использование полужирным шрифтом Metal, например. http://download.oracle.com/javase/tutorial/uiswing/examples/components/FileChooserDemo2Project/src/components/FileChooserDemo2.java – trashgod

+1

Спасибо за рабочий ответ. =) Я использовал другой шрифт, чтобы заставить его работать: UIManager.put («TitledBorder.font», новый шрифт («Tahoma», Font.BOLD, 11)); – Kyle

3

Установите шрифт при создании границы вместо этого. Что-то вроде:

new TitledBorder(new LineBorder(Color.WHITE, 1), "Client Downloader", 
           TitledBorder.LEFT, TitledBorder.TOP, Font.BOLD); 
+0

Это не работает. : | – Kyle

1

Вы можете попробовать изменить код шрифта или размер шрифта, о котором вы говорили.

UIManager.getDefaults().put("TitledBorder.font", new javax.swing.plaf.FontUIResource(new Font("Arial", Font.BOLD, 12))) ; 

кажется, Граница с заголовком есть конструктор, где можно указать шрифт >>>

public TitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont) 

Создает экземпляр TitledBorder с указанной границы, название, название-обоснование, название-позиции, и название -шрифт.

Параметры: границы - граница название - название граница должна отображать titleJustification - оправдание для титула titlePosition - позиция в заголовке titleFont - шрифт для рендеринга названия

И даже цвет:

public TitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont, Color titleColor) 

Создает экземпляр TitledBorder с указанной границей, названием, названием оправдания, титульными позициями, заглавным шрифтом и титульных цветами.

Параметры: границы - граница название - название граница должна отображать titleJustification - оправдание для титула titlePosition - позиция в заголовке titleFont - шрифт в заголовке titleColor - цвет название

1

Даже createTitledBorder имеет:

public static TitledBorder createTitledBorder(Border border, String title, int titleJustification, int titlePosition, Font titleFont, Color titleColor) 

Параметры: границу - объект Border, чтобы добавить название к названию - строка, содержащая текст заголовка titleJustification - целое число, определяющее обоснование названия - одно из следующих действий:

TitledBorder.LEFT 
TitledBorder.CENTER 

TitledBorder.RIGHT 
TitledBorder.LEADING 
TitledBorder.TRAILING 
TitledBorder.DEFAULT_JUSTIFICATION (leading) 

titlePosition - целое число, указывающее вертикальное положение текста по отношению на границе - одно из следующих действий: `

TitledBorder.ABOVE_TOP 
TitledBorder.TOP (sitting on the top line) 
TitledBorder.BELOW_TOP 
TitledBorder.ABOVE_BOTTOM 
TitledBorder.BOTTOM (sitting on the bottom line) 
TitledBorder.BELOW_BOTTOM 
TitledBorder.DEFAULT_POSITION (top) 

` titleFont - шрифт объекта с указанием шрифта заголовка titleColor - это цвет объекта с указанием цвет заголовка

Возврат: Объект под названиемBorder

Смежные вопросы