簡體   English   中英

drawString不在窗口上繪制文本

[英]drawString not drawing text on window

我試圖創建一個帶有一些文本的測試窗口,當我運行代碼時,它不會繪制字符串。 我指定了顏色。 有人可以幫我嗎?

在這里畫

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

class Main
{
    public static void main(String[] args) {
        DrawFrame f = new DrawFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}
class DrawFrame extends JFrame
 {
    public DrawFrame(){
        setTitle("For Aylin");
        setSize(1280,720);

        DrawPanel panel = new DrawPanel();
        Container cp = getContentPane();
        cp.add(panel);
    }
}

class DrawPanel extends JPanel
{
    public void paintComponents(Graphics g)
    {
        super.paintComponents(g);
        g.setColor(Color.darkGray);
        g.drawString("Hi", 100, 10);
    }
}

您應該重寫JPanel的paintComponent方法而不是其paintComponents方法,因為它們有兩個截然不同的目的。 第一個繪制組件本身(所需的內容),而第二個繪制該父級持有的子組件來繪制自身。

還記得更改超級調用以使其匹配,並使用方法上方的@Override批注。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM