繁体   English   中英

Java初学者问题简单的图形

[英]Java Beginner Question simple Graphics

我收到一个错误,说这些方法不适用于Graphics类型? 我不完全了解这里发生了什么 - 有人能解释我做错了什么以及为什么错了? 谢谢,

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

public class Peach extends JPanel {
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      this.setBackground(Color.WHITE);
      g.setColor(Color.BLUE);
      g.fillRect(25, 25, 100, 30);
      g.setColor(new Color(190, 82, 45));
      g.fillRect(25, 65, 100, 30);
      g.setColor(Color.RED);
      g.drawString("this is text", 25, 100);

   }
}

猜测:你已经在同一个名为Graphics的类路径中创建了另一个类,编译器使你的类与java.awt.Graphics类混淆。 如果是这样,您可以通过使用完全限定的类名来找到:

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

public class Peach extends JPanel {
   public void paintComponent(java.awt.Graphics g) { // *** note change
      super.paintComponent(g);
      this.setBackground(Color.WHITE);
      g.setColor(Color.BLUE);
      g.fillRect(25, 25, 100, 30);
      g.setColor(new Color(190, 82, 45));
      g.fillRect(25, 65, 100, 30);
      g.setColor(Color.RED);
      g.drawString("this is text", 25, 100);

   }
}

如果是这样,那么将你自己的Graphics类重命名为其他东西,比如MyGraphics。

但同样,您需要发布实际的错误消息(请参阅上面的评论)。

所以我遇到了完全相同的问题,而我要做的就是复制文件中的所有代码,这些代码会给我错误,删除该文件,然后将我的代码粘贴到一个新文件中,它就开始工作了。 这就是我让我的工作方式,我希望它也适合你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM