Почему окно меняет цвет при создании?

При создании объекта этого класса появляется окно с картинкой (background). Всё работает нормально, только шрифт неподходящий

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GameField extends JPanel {
    private Image background;
    private Font myFont1 = new Font("Arial Narrow", Font.PLAIN, 30);

    GameField() {
        JFrame myFrame = new JFrame();
        myFrame.setSize(592, 714);
        myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        myFrame.add(this);
        ImageIcon iiBackground = new ImageIcon("Pole3.png");
        Background = iiBackground.getImage();
        myFrame.setVisible(true);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        System.out.println("Выполнение painComponent");
        g.drawImage(Background, 0, 0, this);
        g.setColor(new Color(230, 230, 230));
        //g.setFont(myFont1);
        g.drawString("очки:", 34, 600);
    }
}

Но если я раскоментирую предпоследнюю строку для указания нужного шрифта, то при появлении окна сначала мелькает белая заливка, а только потом background заполняет окно. Почему это происходит?


Ответы (1 шт):

Автор решения: pumaex

Нашёл ответ.

Но не могу понять почему так происходит? Если название шрифта поменять с "Arial Narrow" на "Arial", то окно открывается нормально (без моргания).

Другие шрифты пока не пробовал.

Как это может быть не могу понять. Как же тогда использовать необходимые шрифты?

→ Ссылка