基本上我开始学习java中的图形,所以我制作了一个简单的程序来在屏幕上显示两个矩形和一个字符串。程序编译正常,但不显示两个矩形或字符串。关于我的问题的任何意见将不胜感激。
//ClassOne.java
import javax.swing.*;
public class ClassOne {
public static void main(String[] args)
{
JFrame f = new JFrame("Title");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ClassTwo object = new ClassTwo();
f.add(object); //add object to frame
f.setSize(400,250);
f.setVisible(true);
}
}
//ClassTwo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ClassTwo extends JPanel {
public void paintComponet(Graphics g) //takes an object from a graphics class
{
super.paintComponent(g);
this.setBackground(Color.BLACK);
g.setColor(Color.WHITE);
g.fillRect(25, 25, 100, 30); //x,y,width, height
g.setColor(new Color(190,81,215));
g.fillRect(25, 70, 100, 30);
g.setColor(Color.RED);
g.drawString("Text", 25, 120);
System.out.print("hi");
}
}
答案 0 :(得分:3)
这是
public void paintComponent(Graphics g)
不是
public void paintComponet(Graphics g) {
添加@Override
注释以允许编译器检查方法