Текстовый переключатель в Java? - PullRequest
4 голосов
/ 04 июня 2009

У меня есть несколько переключателей, текст которых может быть очень длинным. Есть ли простой способ обернуть их в слова?

Да, оборачивать их в теги <html> и вставлять теги <br> сработает, но есть ли более автоматический способ сделать это? Я действительно не хочу снимать свой собственный наборщик.

Ответы [ 3 ]

7 голосов
/ 05 июня 2009

Самый быстрый и самый грязный способ - просто добавить в начале текста метки переключателя. Это приведет к переносу строк, но теперь вам нужно быть осторожным с этим текстом, если в нем содержится <символов. Это также поддерживает функциональность щелчка по тексту метки, являющегося щелчком по переключателю. </p>

Вот дешевый и веселый пример:

public class Test extends JFrame {
    public static void main(String[] args) {
        new Test();
    }

    private Test() {
        Container  c = getContentPane();
        c.setLayout( new BorderLayout() );
        c.add( new JRadioButton( "<html>I've got a very long text description that's going to wrap over very long lines because I stuck an &lt;html&gt; tag at the start of its label string.</html>") );
        setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
        setSize( 200,200 );
        setVisible( true );
    }
}
2 голосов
/ 04 июня 2009

Не думаю, что для этого есть идеальные решения. Помимо использования тегов <br>, вы можете использовать JTextArea и сделать его похожим на ярлык. Затем установите lineWrap и wrapStyleWord на true.

Затем вы теряете функциональность, щелкая метки, чтобы выбрать / отменить выбор радиокнопки, поэтому вам придется добавить слушателя мыши.

0 голосов
/ 04 июня 2009

Оборачивая их в теги <html> и следя за тем, чтобы они получали достаточно вертикального пространства, должно работать. Не нужно ломать линии самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...