[英]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.