Java Beginner Вопрос простой графики - PullRequest
3 голосов
/ 26 июля 2011

Я получаю сообщение о том, что методы не применимы для типа 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);

   }
}

Ответы [ 2 ]

5 голосов
/ 26 июля 2011

Предположение: у вас есть другой класс, который вы создали в том же пути к классу, называемый 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.

Но опять же, вы захотите опубликовать фактическое сообщение об ошибке (см. Комментарии выше).

0 голосов
/ 05 октября 2013

Итак, у меня возникла точно такая же проблема, и я должен был скопировать весь код в файле, который выдавал мне ошибки, удалить этот файл и вставить мой код в новый файл, и он начал работать. Вот как я заставил свою работу работать, и я надеюсь, что это сработает и у вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...