Суперкласс не использует метод подкласса - PullRequest
0 голосов
/ 20 июня 2019

Мой суперкласс не может использовать метод, который я создал в своем подклассе. Я получаю ошибку, потому что я использую аргумент Graphics. Что мне здесь не хватает?

Я попробовал предложения, данные eclipse, но они приводят к большему количеству ошибок.

Вот мой супер класс

  import java.awt.Canvas;
  import java.awt.Color;
  import java.awt.Graphics;
  import javax.swing.JFrame;
public class GameScreen extends Canvas{

public GameScreen() {

}

public static void main(String[] args) {
    // TODO Auto-generated method stub
//Sets Screen
    JFrame jframe = new JFrame("Game Screen");
    Canvas canvas = new GameScreen();
        jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        canvas.setBackground(Color.cyan);
        canvas.setSize(1000,800);
        jframe.add(canvas);
        jframe.pack();
        jframe.setVisible(true);

        Paddle1.paint(Graphics g);

}



 }

А вот и мой подкласс

    import java.awt.Color;
    import java.awt.Graphics;
public class Paddle1 extends GameScreen {

public void paint(Graphics g) {
    g.setColor(Color.white);
    g.fillRect(50, 50, 40, 130);
}
 }

Подкласс создает прямоугольник, который должен появиться сверху холста

1 Ответ

0 голосов
/ 20 июня 2019

Если вы хотите запустить метод «рисовать» в Paddle1, вам нужно изменить код, как показано ниже:

JFrame jframe = new JFrame("Game Screen");
Canvas canvas = new Paddle1();
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
canvas.setBackground(Color.cyan);
canvas.setSize(1000,800);
jframe.add(canvas);
jframe.pack();
jframe.setVisible(true);
canvas.paint(g);
...