0

私はアプレットを学習しようとしていましたが、このコードを実行すると、コンパイル時のエラーは発生しませんでしたが、コードに対する応答が得られないという問題がありました。簡単なメモ帳とアプレットビューアを使用してそれを完了しました。アプレットをクリックすると、座標が表示されるはずですが、表示されません。関連する html コードを入力してブラウザ経由で実行しようとしましたが、応答は同じです。どんな助けでも本当に感謝します

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="MyMouseApplet.class"
width = "400"
height = "400"> 
</applet>*/

public class MyMouseApplet extends Applet implements MouseListener{
int x,y;
String str=" ";
public void init(){
this.addMouseListener(this);
}
public void paint(Graphics g){
g.drawString(str,x,y);
}
public void update(Graphics g){
paint(g);
}
public void mouseClicked(MouseEvent m)
{
int x = m.getX();
int y = m.getY();
str="x:" + x + "y:" + y;
repaint();
}
public void mouseExited(MouseEvent m){}
public void mouseEntered(MouseEvent m){}
public void mousePressed(MouseEvent m){}
public void mouseReleased(MouseEvent m){}
}
4

1 に答える 1

0

あなたのmouseClicked関数は範囲外にxなります。yこれを行う:

public void mouseClicked(MouseEvent m)
{
     //int x = m.getX();
     //int y = m.getY();
     x = m.getX();
     y = m.getY();
     str="x:" + x + "y:" + y;
     repaint();
}

これは、ローカル変数ではなく、クラスのフィールドにアクセスします。

于 2012-11-20T17:44:17.173 に答える