Как я могу сдвинуть HTML-текст в JButton влево? - PullRequest
0 голосов
/ 29 апреля 2010

Я использую HTML, чтобы поместить текст в JButton. Таким образом, я могу играть с цветами и размером текста. Что мне не нравится, так это расстояние от левой границы кнопки и текста (это расстояние слишком велико). Есть ли способ уменьшить это расстояние? Я думаю, что это должен быть какой-то параметр в style кода HTML.

Образец кода:

JButton btn = new JButton("<html><span style='color:#000000; font-size: 11pt;'>" + label + "</span></html>");

1 Ответ

1 голос
/ 29 апреля 2010

Я бы порекомендовал делать это программно, а не пытаться делать это с HTML, поскольку вы с большей вероятностью увидите согласованные результаты на разных платформах.

JButton btn = ...
btn.setHorizontalTextPosition(SwingConstants.LEFT);

Затем вы можете настроить размер шрифта, переопределив paintComponent (дополнительная работа) или изменив объект FontUIResource при запуске (хотя это повлияет на размер шрифта всех кнопок); например,

FontUIResource f = new FontUIResource("Tahoma", Font.PLAIN, 11);
Enumeration<Object> it = UIManager.getDefaults().keys();

while (it.hasMoreElements()) {
    Object key = it.nextElement();
    if (UIManager.get(key) instanceof FontUIResource) {
        UIManager.put(key, f);
    }
}
...