Моя программа записывает текст в JProgressBar. Проблема в том, что текст шире ширины JProgressBar.
Я уже изменил высоту JProgressBar, чтобы иметь возможность писать текст в две строки, но я не хочу изменять ширину.
Как изменить переполнение JProgressBar, чтобы текст возвращался к следующей строке, если он слишком широкий?
Надеюсь, это достаточно ясно :)
Вот что я хотел бы:
Спасибо
ИЗМЕНИТЬ
После ответа @mKorbel результат выглядит так:
Этикетка работает нормально, но зачем эти полоски?
Мой код:
// Construct progress bar
JProgressBar progressBar = new JProgressBar(0, 100);
// Set progressBar color
progressBar.setForeground(new Color(0,176,80));
// Edit progress bar height
Dimension prefSize = progressBar.getPreferredSize();
prefSize.height = 50;
progressBar.setPreferredSize(prefSize);
// Set the layout
progressBar.setLayout(new BorderLayout(5, 5));
// Set progress bar value
progressBar.setValue(38);
// Construct the label
JLabel progressLabel = new JLabel("<html>I have already changed the JProgressBar's height to be able to write the text on two lines but I don't want to the change the width.</html>");
// Set alignment
progressLabel.setHorizontalAlignment(JLabel.CENTER);
progressLabel.setVerticalAlignment(JLabel.CENTER);
// Set the borders
progressLabel.setBorder(new EmptyBorder(15, 15, 15, 15));
// Change the font
font = progressLabel.getFont();
font = font.deriveFont(Font.BOLD, 12);
progressLabel.setFont(font);
// Add label to the progress bar
progressBar.add(progressLabel, BorderLayout.CENTER);
// Add progress bar to the frame
frame.add(progressBar);