当我在没有“g.drawString(“Play”,50,50)”的情况下运行该程序时,它运行良好。框架的背景是纯白色。但是当我添加那行代码时,框架的背景变得几乎透明。这就像我的屏幕在 450 x 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);
}
}
最佳答案
添加super.paint(g);
到你的paint方法的开头。这会调用 Not TicTacToe 类继承的 JFrame 类中的 Paint 方法。
关于java - 使用drawString显示文本的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60902323/