前提・実現したいこと
作って学ぼう!0から始めるJavaプログラミング入門①
上記のサイトを参考に、Javaでシンプルなお絵描きソフトを作っており、
ウィンドウ上でマウスをクリックすると赤い点が描画される機能を実装中に以下のエラーメッセージが発生しました。改善点やポイント等、教えてください。
発生している問題・エラーメッセージ
エラーメッセージ Exception in thread "main" java.lang.ExceptionInInitializerError at mysimplepainter.MySimplePainter.main(MySimplePainter.java:29) Caused by: java.lang.RuntimeException: Uncompilable source code - mysimplepainter.Canvasはabstractでなく、java.awt.event.MouseListener内のabstractメソッドmouseExited(java.awt.event.MouseEvent)をオーバーライドしません at mysimplepainter.Canvas.<clinit>(MySimplePainter.java:37) ... 1 more
該当のソースコード
MySimplePainter.java
1package mysimplepainter; 2 3import java.awt.Color; 4import java.awt.Graphics; 5import java.awt.event.*; 6import javax.swing.*; 7 8/** 9 * 10 * @author HighBriR 11 */ 12public class MySimplePainter { 13 14 /** 15 * @param args the command line arguments 16 */ 17 public static void main(String[] args) { 18 // TODO code application logic here 19 JFrame frame = new JFrame("SimplePainter"); 20 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 21 frame.setSize(600,400); 22 frame.setLocationRelativeTo(null); 23 24 Canvas canvas = new Canvas(); 25 frame.add(canvas); 26 27 frame.setVisible(true); 28 } 29 30} 31 32class Canvas extends JPanel implements MouseListener { 33 private int x = -100; 34 private int y = -100; 35} 36 37 public Canvas() { 38 addMouseListener(this); 39 setSize(600, 400); 40 41 } 42 public void paintComponent(Graphics g) { 43 g.setColor(Color.RED); 44 g.drawOval(100, 100, 50, 50); 45 g.fillOval(x-5, y-5, 10, 10); 46 } 47 48@Override 49 public void mouseClicked(MouseEvent e) { 50} 51 52@Override 53 public void mousePressed(MouseEvent e){ 54 x = e.getX(); 55 y = e.getY(); 56 repaint(); 57} 58 59@Override 60 public void mouseReleased(MouseEvent e){ 61} 62 63@Override 64 public void mouseEntered(MouseEvent e){ 65} 66 67@Override 68 public void mouseExited(MouseEvent e){ 69}
試したこと
プログラムのスペルミスなど、文のミス等。(もしあったらすみません・・・。)
補足情報(FW/ツールのバージョンなど)
開発環境としては、NetBeans IDEを使用しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。