Einzelnen Beitrag anzeigen
Alt 10.11.2003, 17:58   #4
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 39
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard

hallo!

folgende fehlermeldungen:

1) wenn ich dem applet nur "implements MouseListener" dazuschreibe:
Test002 is not abstract and does not override abstract method mouseReleased(java.awt.event.MouseEvent) in java.awt.event.MouseListener
public class Test002 extends java.applet.Applet implements MouseListener {

2) wenn ich applet + implements MouseListener + button.addMouseListener(this) direct unter der public class test002:
identifier expected bei der klammer vom (this)

3) applet + implements... + button.addMouseListener(this) in der init():
gleicher fehler wie bei (1)


noch eine frage: wie kann ich eine double auf 2 dezimalstellen runden??? mit Math.round(double*100)/100 kommt bei mir immer xxx.0

hier der code.. vielleicht hilfts was
PHP-Code:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class 
Test002 extends java.applet.Applet {
    
    
int fensterx 10;
    
int fenstery 10;
    
int fensterw 300;
    
int fensterh 300;

    
int downxdowny;
    
int d 10;
    
int i,object;
    
boolean hit;

    
Label text;
    
    
int[][] coords = new int[3][3];
    
int[] v1 = new int[2];
    
int[] v2 = new int[2];
    
    public 
void init() {
        
setLayout(null);
        
setBackground(Color.white);
        
        
Button test = new Button("test!");
        
test.setBounds(fensterx+fensterw+20,10,50,20);
        
add(test);
        
        
text = new Label();
        
text.setBounds(fensterx+fensterw+20,35,98,20);
        
add(text);
                
        
coords[0][0] = 210;
        
coords[0][1] = 130;
        
coords[0][2] = 100;
        
coords[1][0] = 80;
        
coords[1][1] = 110;
        
coords[1][2] = 50;
        
coords[2][0] = 180;
        
coords[2][1] = 270;
        
coords[2][2] = -100;
    }
    
    public 
boolean mouseDown(Event eint xint y) {
        
downx x;
        
downy y;
        
hit false;
        for(
i=0;i<coords.length;i++) {
            
int mx coords[i][0];
            
int my coords[i][1];
            if(
downx mx+d/&& downx mx-d/&& downy my+d/&& downy my-d/2) {
                
object i;
                
hit true;
            }
        }            
        return 
true;
    }
    
    public 
boolean mouseDrag(Event e,int x ,int y) {
        
        if(
<= fensterx)
            
fensterx;
        if(
>= fensterx+fensterw)
            
fensterx+fensterw;
        if(
<= fenstery)
            
fenstery;
        if(
>= fenstery+fensterh)
            
fenstery+fensterh;
        
        if(
hit == true) {
            
coords[object][0] = x;
            
coords[object][1] = y;
        }
        
downx x;
        
downy y;
        
repaint(fensterx,fenstery,fensterw,fensterh);
        return 
true;
    }

    
    public 
void paint(Graphics g) {
        
g.setColor(Color.blue);        
        
        
int vx coords[0][0];
        
int vy coords[0][1];
        
        
vektor(0,1,g);
        
vektor(0,2,g);
        
int newx v1[0]+v2[0]-vx// ausgangspunkt v1 + vektor vx_v2 (spitze minus schaft)
        
int newy v1[1]+v2[1]-vy// ausgangspunkt v1 + vektor vx_v2 (spitze minus schaft)
        
g.setColor(Color.green);
        
g.drawLine(vx,vy,newx,newy);
        
        
// Feldstärke der Resultierenden
        
double feld;
        
feld Math.sqrt((vx-newx)*(vx-newx)+(vy-newy)*(vy-newy));
        
text.setText("Feldstärke: " Double.toString(feld));
        
        for(
i=0;i<coords.length;i++) {
            
int x coords[i][0];
            
int y coords[i][1];
            
int z coords[i][2];
            
ladung(x,y,z,i,g);
        }
        
        
g.setColor(Color.black);
        
g.drawRect(fensterx,fenstery,fensterw,fensterh); // zeichenfenster
    
}
    
    public 
void ladung(int mxint myint zint ladGraphics g) {
        
        if(
== 0)
            
g.setColor(Color.black);
        else if(
0)
            
g.setColor(Color.red);
        else if(
0)
            
g.setColor(Color.blue);
        
        
g.drawOval(mx-(d/2),my-(d/2),d,d);
        
g.drawLine(mx-(d/2),my,mx+(d/2),my);
        
g.drawLine(mx,my-(d/2),mx,my+(d/2));
    }
    
    public 
void vektor(int lad1int lad2Graphics g) {
        
        
int x1 coords[lad1][0];
        
int y1 coords[lad1][1];
        
int q1 coords[lad1][2];
        
        
int x2 coords[lad2][0];
        
int y2 coords[lad2][1];
        
int q2 coords[lad2][2];
        
        
double r,betrag,epsilon_null;
        
        
int faktor 18000;
        
epsilon_null 8.854// original: 8.854*Math.pow(10,-12);
        
        
Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        
betrag = ((q1*q2)/(r*r))*(1/(4*Math.PI*epsilon_null))*faktor;
        
        
// vektor wird erstellt (vx|vy) - spitze minus schaft
        
int vx x1 x2;
        
int vy y1 y2;
        
        
// einheitsvektor a' = a * (1 / |a|)
        
double evx vx*(1/r);
        
double evy vy*(1/r);        
        
        
// vektorcoords für erzeugende werden gespeichert
        
if(lad2==1) {
            
v1[0]=(int)(x1+evx*betrag);
            
v1[1]=(int)(y1+evy*betrag);
        }
        if(
lad2==2) {
            
v2[0]=(int)(x1+evx*betrag);
            
v2[1]=(int)(y1+evy*betrag);
        }
        
        
Color color = new Color(220,220,220);
        
g.setColor(color);
        
g.drawLine(x1,y1,(int)(x1+evx*betrag),(int)(y1+evy*betrag));
    }        

____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten