🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

560閲覧

Javaで、特定のウィンドウに赤い点を描画させるには

HighBriR

総合スコア5

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/10/01 04:43

前提・実現したいこと

作って学ぼう!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を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

class Canvas の "{" "}" の対応が変です.
4行下にある "}" は, ご提示のコードの一番最後に行くものではありませんか?

投稿2019/10/01 13:08

jimbe

総合スコア13202

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問