java - PaintComponent 和 java 图形

标签 java swing graphics jpanel paintcomponent

我对java图形还是新手,我写了这段小代码,但它在屏幕上没有显示任何内容。有人可以告诉我出了什么问题吗? 我没有收到任何错误,但它只是没有显示任何内容。谢谢

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.*;


public class GraphicsExample extends JPanel {

    public void paintComponenet(Graphics g) {


        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g; 
        g.setColor(Color.red);

        g.drawRect(10, 10, 200, 200);
        for(int i=0; i<20; i++){
        g.setColor(new Color((int) (Math.random() *255), (int)(Math.random()*255),(int) (Math.random()*255)));
        g.fillOval(20+(int)(Math.random()*180), 20+(int)(Math.random()*180), 5, 5);
    }
        g.setColor(Color.red);

        g.drawString("Hello there", 20, 20);


    }

    public static void main(String[] args) {
        JFrame f = new JFrame(); 
        f.add(new GraphicsExample());
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(400,600);
        f.show();
    }
}

最佳答案

paintComponenet 拼写错误,应该是 paintComponent

当您“认为”要重写方法时,请首先使用@Override注释...

@Override
public void paintComponenet(Graphics g) {

如果编译器在父类中找不到相应的方法,这将导致编译器错误,这将突出显示这些类型的错误...

@Override
public void paintComponent(Graphics g) {

关于java - PaintComponent 和 java 图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30069209/

相关文章:

java - 如何添加整数构造函数和公共(public)签名java

java - 如何在android中制作一个没有控件的相机应用程序,以便屏幕上只显示镜头的 View ?

java - 事件驱动架构的一个例子?

java - 如何在任务栏上制作 Windows 7 加载栏

java - 如何在 JFreeChart ChartFactory.createLineChart 中从 X - Y 轴 o 处开始绘制线

java - 使用 Java Swing 将滚动条添加到 JTextArea 中

java - 如何为字符串设置字体

algorithm - 从 3D 网格生成 2D 横截面多边形

cocoa - 在drawRect之外获取NSView的CGContextRef?

java - 获取 Java TimeZone 的缩写?