Проблема с отображением текста с использованием drawString - PullRequest
0 голосов
/ 28 марта 2020

Когда я запускаю эту программу без «g.drawString (« Play », 50,50)», она работает нормально. Задний фон рамы - solid белого цвета. Но когда я добавляю эту строку кода, фон кадра становится почти прозрачным. Это как снимок экрана моего экрана в области 450 на 800 пикселей

import javax.swing.*;
import java.awt.*;

public class NotTicTacToe extends JFrame {

    public static void main(String[] args) {
        new NotTicTacToe();
    }
    public NotTicTacToe() {
        setTitle("Not Tic Tac Toe");
        setSize(450, 800);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setVisible(true);
        JTextField textfield1= new JTextField ("PLAY",50);
    }

    public void paint(Graphics g) {
        g.setColor(Color.RED);
        g.drawRect(200, 257, 50, 50);
        g.setColor(Color.BLUE);
        g.fillRect(201, 258, 49, 49);
        g.drawString("Play",50, 50);
    }

}

1 Ответ

1 голос
/ 28 марта 2020

Добавьте super.paint(g); в начало вашего метода рисования. Это вызывает метод рисования в классе JFrame, от которого наследуется ваш класс NotTicTacToe.

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