• 締切済み

JAVA コンパイル時のエラー

JAVAの初心者です。 javacでコンパイルする際, gui は abstract でなく、java.awt.event.KeyListener 内の abstract メソッド keyReleased(java.awt.event.KeyEvent) をオーバーライドしません。 public class gui extends JFrame implements ActionListener,KeyListener { このようなエラー文がでます。 このエラー文の意味を教えていただけないでしょうか。 よろしくお願いします。

  • Java
  • 回答数3
  • ありがとう数2

みんなの回答

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.3

Listenerはインターフェースなので すべてのメソッドを再定義しなくてはなりません。 すべてのメソッドを再定義するのは面倒な場合は Adapterを使います。

  • jdbckit
  • ベストアンサー率100% (1/1)
回答No.2

KeyListenerインターフェースを実装されているので、本体のメソッドをすべて再定義しないといけません。 keyPressed(KeyEvent e) キーが押された場合 keyReleased(KeyEvent e) キーが離された場合 keyTyped(KeyEvent e) キーが押された場合(主に文字キーの検出) 下記サイトに詳しい説明がありますので、ご参考ください。

参考URL:
http://www.javadrive.jp/applet/event/index5.html
  • e00083
  • ベストアンサー率31% (25/80)
回答No.1

言葉通り、keyReleased(java.awt.event.KeyEvent) メソッドを作っていないのでエラーという意味です。 implements で検索

関連するQ&A

  • Java バックグラウンドでキーを監視したい

    Swingを使用しています。ウィンドウにフォーカスが外れても、どのキーが押されたか判定できる方法を教えて下さい。 フォーカスがあっていれば、動作するプログラムは作れました。 import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; public class KeyListenerOnBackgroundTest extends JFrame implements KeyListener{ public KeyListenerOnBackgroundTest() { setSize(300, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); addKeyListener(this); } public static void main(String[] args){ new KeyListenerOnBackgroundTest().setVisible(true); } @Override public void keyPressed(KeyEvent e) { // 文字とコードを表示する System.out.println(e.getKeyCode()+":"+e.getKeyChar()); } @Override public void keyReleased(KeyEvent e) {} @Override public void keyTyped(KeyEvent e) { } }

    • ベストアンサー
    • Java
  • コンパイルエラーの対応

    下記のプログラムをコンパイルしたらエラーが発生しました。 プログラム自体は本をそのまま書き写したのですが、何がいけないのでしょう。 教えてください。よろしくお願いします。 Javaのバージョンは1.3.1です import java.applet.*; import java.awt.*; import java.awt.event.*; public class sample3 extends Applet implements ActionListener { Button bt; public void init() { bt = new Button("押します!"); bt.addActionListener(this); add(bt); } public void actionperformed(ActionEvent ae) { bt.setLabel("押しました!"); } } -----------------エラー内容----------------------- sample3.java:4: sample3 は abstract として宣言する必要があります。 actionPerformed(java.awt.event.ActionEvent) を sample3 で定義しません。 public class sample3 extends Applet implements ActionListener ^

    • ベストアンサー
    • Java
  • エラーがでてしまいます・・

    Cpadで下記のプログラムを作っているのですが ry21.java:7: Try21 は abstract として宣言する必要があります。actionPerformed(java.awt.event.ActionEvent) を Try21 で定義しません。public class Try21 extends Frame implements ActionListener{ とエラーがでてしまいます。どなたがわかるかたいらっしゃいましたら、教えていただけないでしょうか? 。

  • イベントの宣言について

    public class J_applet extends Applet implements ActionListener ,ItemListener { と宣言したところ、 J_applet は abstract でなく、java.awt.event.ActionListener 内の abstract メソッド actionPerformed(java.awt.event.ActionEvent) をオーバーライ ドしません。 とエラーがでました。 インポート宣言はきちんとしました。 上記のような書き方はもしかして出来ないんでしょうか?

    • ベストアンサー
    • Java
  • TABキーの検出

    Swingコンポーネントで、TABキーのイベントを取得する 方法を教えてください。 タブキー以外は検出できるのですが… import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JPanel; public class TabKeyListener { public TabKeyListener() { JPanel panel = new JPanel(); panel.addKeyListener( new KeyListener(){ public void keyPressed(KeyEvent e) { System.out.println(e.getKeyCode()); } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } ); JFrame frame = new JFrame(); frame.add(panel); frame.setBounds(100,100,200,200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); panel.requestFocusInWindow(); } public static void main(String[] args) { new TabKeyListener(); } }

    • ベストアンサー
    • Java
  • 【JAVAエラー】互換性のない型、演算子が適用されませんetc

    学校の課題で電卓を作っています。 dentaku.BOはabstractではなく、java.awtevent.ActionListener内の abstractメソッド actionPerformed(java.awt.event.ActionEvent) をオーバーライドしません というエラーと、 互換性のない型 検出値:java.lang.String 期待値:boolean if(fugo="+") ^ と、 演算子 - はjava.lang.String,java.lang.String に適応出来ません str= num1-num2; ^ この3種類のエラーはざくざく出てくるのですが、具体的にどう修正したらいいのか分かりません。どなたか教えてくださいm(_ _)m ソース載せようとしたら文字数オーバーしてしまいましたorz

  • アプレットでスクロールバーを作りたいがコンパイルエラーが出る。

    アプレットでスクロールバーを作ろうと思っています。下記のコードをコンパイルすると 「import java.applet.Applet;abstract として宣言する必要があります。」とコンパイルエラーになります。いろいろ調べましたが原因がわかりません。なぜこのようなことが生じるのでしょうか? import java.awt.*; import java.awt.event.*; public class testScroll extends Applet implements AdjustmentListener{ Scrollbar sbar; public void init(){ setLayout(new BorderLayout()); sbar=new Scrollbar(Scrollbar.HORIZONTAL,1,10,1,300); add("South",sbar); sbar.addAdjustmentListener(this); } public void paint(Graphics g){ g.setColor(Color.gray); g.fillRect(0,0,350,150); } public void adjustmentValueCanged(AdjustmentEvent e){ if(e.getAdjustable()==sbar){ repaint(); } } } ■C:\**> javac testScroll.java testScroll.java:7: testScroll は abstract として宣言する必要があります。 adjustmentValueChanged(java.awt.event.AdjustmentEvent) を testScroll で定義しません。 public class testScroll extends Applet implements AdjustmentListener{ ^ エラー 1 個

    • ベストアンサー
    • Java
  • javaの課題でコンパイルエラーが出てきて困っています

    学校の授業でjavaの課題が出たのですが、 javakadai.java:41: ここにインタフェースが必要です。 class javakadaiPanel extends JPanel implements ActionListener,ActionEvent{ というエラーが出て困っています。 どなたか解決方法を教えてくれませんか? ソースは以下です。 よろしくお願いします。 import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Graphics; import java.awt.Color; import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JCheckBoxMenuItem; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JRadioButtonMenuItem; import java.awt.Container; public class JavaKadai { public static void main(String[] args) { JavaKadaiFrame frame = new JavaKadaiFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } class JavaKadaiFrame extends JFrame { JavaKadaiFrame() { super(); setSize(300, 300); setLocationRelativeTo(null); setTitle("JavaKadai"); Container c = getContentPane(); c.add(new JavaKadaiPanel(getRootPane())); } } class JavaKadaiPanel extends JPanel implements ActionListener,ActionEvent{ Color color = Color.black; JCheckBoxMenuItem miR = new JCheckBoxMenuItem("R"); JCheckBoxMenuItem miG = new JCheckBoxMenuItem("G"); JCheckBoxMenuItem miB = new JCheckBoxMenuItem("B"); public JavaKadaiPanel(javax.swing.JRootPane root) { setBackground(Color.black); //メニューバーはJFrameのルートペインに追加 JMenuBar bar = new JMenuBar(); JMenu mnBack = new JMenu("BACK"); //メニュー構成 bar.add(mnBack); mnBack.add(miR); mnBack.add(miG); mnBack.add(miB); //ルートペインへメニューを追加 root.setJMenuBar(bar); miR.addActionListener(this); miG.addActionListener(this); miB.addActionListener(this); mnBack.setMnemonic('B'); //[Alt]+[B]でアクセス miR.setMnemonic('R'); //[R]でアクセス miG.setMnemonic('G'); //[G]でアクセス miB.setMnemonic('B'); //[B]でアクセス } public void actionPerformed(ActionEvent e){ int R = miR.isSelected() ? 255:0; int G = miG.isSelected() ? 255:0; int B = miB.isSelected() ? 255:0; color = new Color(R,G,B); repaint(); } public void paintComponent(Graphics g) { super.paintComponent(g); // 幅、高さ int height = g.getClipBounds().height; int width = g.getClipBounds().width; // 塗潰し g.setColor(color); g.fillRect(0, 0, width, height); } } まだ途中なので、現時点では不必要なimport文があります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javaとjavascriptについて

    javaの初心者です。 Eclipse4.4を使用しまして、DesktopのGUIのappを作っています。 下記のimportを行ないまして。 Q1)これは、javaで作成するAppであり、javascriptとは、関係の無いものと   考えて宜しいでしょうか? Q2) javascriptで、作成するAppはdesktop以外のappでしょうか? お手数ですが、回答頂けますと、大変ありがたいです。 // import java.awt.GridBagLayout; //import java.awt.event.ActionListener; //import javax.swing.JFrame; //import javax.swing.JLabel; 以上

    • ベストアンサー
    • Java
  • javaにおいてコンパイルをすると次のようなエラーが出てきます。

    javaにおいてコンパイルをすると次のようなエラーが出てきます。 力不足で解決することができません。 どうか力を貸してください。 エラーは以下のように出てきます。 よろしくお願いします。 シンボルがみつかりません シンボル: コンストラクタ DrawPanelMouseHandler(DrawPanel) 場所 : DrawPanelMouseHandler の クラス mouseHandler = new DrawPanelMouseHandler(this); mouseHandler = new DrawPanelMouseHandler(this);import java.awt.*; import java.util.ArrayList; import javax.swing.JPanel; import javax.swing.JButton; public class DrawPanel extends JPanel { ArrayList<Shape> shapeList = new ArrayList<Shape>(); DrawPanelMouseHandler mouseHandler; public void paintComponent(Graphics g) { super.paintComponent(g); for(Shape shape: shapeList){ shape.draw(g); } } public DrawPanel(){ mouseHandler = new DrawPanelMouseHandler(this); this.addMouseListener(mouseHandler); this.addMouseMotionListener(mouseHandler); ShapeFactory circleFactory = new CircleFactory(); UIToolButton circleButton = new UIToolButton(circleFactory, this, "Circle"); this.add(circleButton); } public void addShape(Shape s) { shapeList.add(s); repaint(); } } import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class UIToolButton extends JButton implements ActionListener{ DrawPanelMouseHandler mouseHandler; ShapeFactory factory; public UIToolButton(ShapeFactory factory, DrawPanelMouseHandler mouseHandler, String text) { super(text); this.addActionListener(this); this.mouseHandler = mouseHandler; this.factory = factory; } public void actionPerformed (ActionEvent ae) { mouseHandler.setShapeFactory(factory); } }