GridBagLayout. JLabel. Multiline - Java

Узнай цену своей работы

Формулировка задачи:

Такое дело: использую GridBagLayout в качестве менеджера компоновки моего JFrame. Попытался создать хотя бы одну ячейку, внутри которой JLabel с большим текстом. Хотел, чтобы текст выводился в ячейку, а когда доходил до её края, переводил строку. Проблема multiline решилась добавлением тега <html></html>, но вот каким образом JLabel поместился в ячейке (прилагаю скриншот). код:
public class LabFrame extends JFrame
{
    public LabFrame()
    {
        super("Девушка и её молодые люди");
        setLayout(new GridBagLayout());
        GridBagConstraints сonstraints = new GridBagConstraints();
        сonstraints.gridx = 0;
        сonstraints.gridy = 0;
        JLabel infoLabel = new JLabel("<html>Задача: Девушка пригласила на свидание k молодых людей. Каждый молодой человек имеет привычку опаздывать на случайное время с показательным распределением со своим средним О». Девушка ждёт первого пришедшего и с ним уходит. Случайная величина О· - время ожидания девушкой.</html>");
        add(infoLabel, сonstraints);
    }
}
Если убрать менеджера, всё нормально Подскажите пожалуйста, может какие-то ограничения для GridBagConstraints забыл отметить?

Решение задачи: «GridBagLayout. JLabel. Multiline»

textual
Листинг программы
сonstraints.weightx = 1;
сonstraints.weighty = 1;
сonstraints.fill = GridBagConstraints.BOTH;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5