У меня есть проблема в моей программе, которую я пишу: я создаю 3 типа объектов JLabel
, и я использую в качестве строк языка иврит.Я объединяю каждую строку с открывающим тегом HTML и закрывающим тегом HTML для включения многострочного текста.
Проблема заключается в том, что при использовании тегов HTML объединяйте теги HTML со строками и задайте их как текст JLabels.от запуска программы до появления окна требуется около 6 секунд.Когда я не использую теги HTML, окно отображается через одну-две секунды после запуска программы.
Почему это так?Как я могу использовать HTML-теги со строками в качестве текста JLabel без такой большой задержки запуска программы до появления окна программ?
Операционная система: Windows 10
Компилятор: Intellij IDEA
Код:
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
public class GuideUseWin extends JFrame {
private JPanel mainPanel;
private BoxLayout mainLayout;
private JLabel firstImgLbl;
private JLabel secondImgLbl;
private JLabel thierdImgLbl;
public GuideUseWin() {
this.setSize(400, 700);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.mainPanel = new JPanel();
this.mainLayout = new BoxLayout(this.mainPanel, BoxLayout.PAGE_AXIS);
this.mainPanel.setLayout(this.mainLayout);
this.add(this.mainPanel);
this.firstImgLbl = new JLabel();
ArrayList <JLabel> photosLblsArr = new ArrayList<JLabel>();
photosLblsArr.add(this.firstImgLbl);
photosLblsArr.add(this.secondImgLbl);
photosLblsArr.add(this.thierdImgLbl);
String[] stepsArr = {"מדריך שימוש בסיסי בתוכנה ",
"תחילה יש לבחור X מתוך 3 השורות המוצגות בחלון התוכנית, על ידי לחיצה על אחד המקשים 1,2 או 3 במקלדת הנומרית",
"לאחר מכן, יש לבחור מספר על ידי לחיצה על אחד המקשים 0-9 "};
for (int i = 0; i < 3; i++) {
JLabel stepLbl = new JLabel("<html>" + stepsArr[i] + "</html>");
stepLbl.setForeground(Color.black);
stepLbl.setFont(new Font("Serif", Font.BOLD, 20));
stepLbl.setBackground(Color.cyan);
stepLbl.setBounds(100, 100, 100, 100);
stepLbl.setMinimumSize(new Dimension(100, 100));
this.mainPanel.add(stepLbl);
}
this.setVisible(true);
}
}
Я проверил и обнаружил, что когда я использую строки только на английском языке, окно отображается правильно через 1-3 секунды после запуска программы.Почему это так?И как я могу использовать HTML-теги со строками в качестве текста JLabel без такой большой задержки от запуска программы до появления окна программ?