000
14.12.2002, 18:19 Uhr
e-Caf|Y|baB
|
Hallo, ich habe zwei innere Klassen, in der einen (ZeichnenPanel) werden Linien mithilfe von paint gezeichnet, nun möchte ich speichern was gezeichnet wurde und habe dazu eine Kalsse geschrieben: CLinien. Die Kompilierung funzt wunderbar, nur beim Ausführen einer der beiden Funktionen aus der Klasse CLinien wirf das Programm Fehlermeldungen aus (und funzt nicht richtig). Die entsprechenden Aufrufe sind mit "!!!" markiert.
C++: |
import java.awt.*; import java.awt.event.*; import javax.swing.*;
class ZeichnenFenster extends JInternalFrame implements ActionListener { ZeichnenPanel PZeichnen; JButton BLinie = new JButton("Linie"); boolean klickzwei = false; int x1 = 0; int y1 = 0; int x2 = 0; int y2 = 0;
MouseEvent mEvent = null; String aEvent = "";
... class ZeichnenPanel extends JPanel { public void paint(Graphics g) { Linien.zeichnen(g); // !!! if(mEvent!=null) { if(klickzwei) { x2 = mEvent.getX(); y2 = mEvent.getY(); } else { x1 = mEvent.getX(); y1 = mEvent.getY(); } } if(klickzwei) { if(aEvent.equals("Linie")) { g.drawLine(x1,y1,x2,y2); Linien.speichern(x1,y1,x2,y2); // !!! } } } } class CLinien { private int anzahl = 0; private int[] x1 = new int[10]; private int[] y1 = new int[10]; private int[] x2 = new int[10]; private int[] y2 = new int[10]; public void zeichnen(Graphics g) { for(int i=0; i<anzahl; i++) { g.drawLine(x1[i],y1[i],x2[i],y2[i]); } } public void speichern(int x1, int y1, int x2, int y2) { this.x1[anzahl] = x1; this.y1[anzahl] = y1; this.x2[anzahl] = x2; this.y2[anzahl] = y2; anzahl++; } } ... }
|
MfG e-Caf -- There are 10 types of people - those who understand binary and those who don't. |