Переопределение метода с помощью MouseListener - PullRequest
0 голосов
/ 15 октября 2019

Я создаю Java-программу, которая использует Swing для рисования лица, а затем я использую MouseListener, чтобы реагировать на щелчки мыши, чтобы один из глаз мигал. Как бы заставить один из глаз мигать с помощью MouseListener? Метод paint (Graphics g) может быть создан только один раз с таким именем, поэтому, если я хочу повторить его и отредактировать его под кодом MouseListener с одним глазом, превращенным в строку для мигания, как бы я это сделал?

Вот мой код:

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Sans extends JPanel {

public void paint(Graphics g) {

    super.paintComponent(g);
    setSize(650, 650);
    g.drawOval(110, 250, 500, 275);
    g.setColor(new Color(226, 222, 217));
    g.fillOval(110, 250, 500, 275);

    g.drawOval(475, 300, 75, 75);
    g.setColor(new Color(74, 199, 226));
    g.fillOval(475, 300, 75, 75);

    g.drawOval(505, 330, 15, 15);
    g.setColor(new Color(0, 0, 0));
    g.fillOval(505, 330, 15, 15);

    g.drawOval(175, 300, 75, 75);
    g.setColor(new Color(0, 0, 0));
    g.fillOval(175, 300, 75, 75);

    g.drawOval(205, 330, 15, 15);
    g.setColor(new Color(232, 255, 243));
    g.fillOval(205, 330, 15, 15);

    g.drawOval(350, 375, 20, 50);
    g.setColor(new Color(0, 0, 0));
    g.fillOval(350, 375, 20, 50);

    g.drawArc(290, 360, 150, 150, 180, 180);
    g.setColor(new Color(255, 255, 255));
    g.fillArc(290, 360, 150, 150, 180, 180);
}


public static void main(String[] args) {

    Font font = new Font("TimesRoman", Font.PLAIN, 15);

    JFrame frame = new JFrame();
    Sans spook = new Sans();
    frame.add(spook);
    frame.setSize(750, 750);

    frame.setTitle("I'VE GOTTEN A TON OF WORK DONE TODAY. A SKELE-TON.");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setResizable(false);
    frame.setVisible(true);
}

public class BlinkHandler implements MouseListener {



    public void mouseClicked(MouseEvent e) {

    }


    public void mousePressed(MouseEvent e) {

    }


    public void mouseReleased(MouseEvent e) {

    }


    public void mouseEntered(MouseEvent e) {

    }

    public void mouseExited(MouseEvent e) {

    }
}

}

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