sorry, mir ging vorhin die zeit aus. was ich im unteren absatz meine ist, daß du im prinzip das in der mousePressed(...) oder mouseClicked(...) machen solltest, was du bereits in deinem MouseAdapter tust. aber genau aus diesem grund stellt sich für mich die frage, warum du dann dein klasse als MouseListener deklarierst, die dazu gehörenden methoden leer lässt und statt dessen den code der dort hinein gehört in einen extra MouseAdapter auslagerst. für mich sieht das nach ziemlichen unsinn aus. entweder du machst einen MouseAdapter oder deine klasse ist ein MouseListener. ich würde dir letzteres vorschlagen, damit du in den methoden auch schön auf alle variablen zugreifen kannst. sprich vergiss den vorschlag den code des MouseAdapters in den konstruktor der klasse zu verlegen, entferne den MouseAdapter und schmeiße den code seiner mouseClicked(...) methode in die mouseClicked(...) methode deiner klasse hier herein. und deine klasse registrierst du bei dem JPanel auf die du deine klasse zeichnen lässt. hier in deiner klasse selbst brauchst du überhaupt nix zu registrieren, den deine klasse ist ja kein Component und somit auch auf keiner oberfläche selbstständig darstellbar, woraus folgt, daß sie selbst auch nicht in der lage ist, MouseEvents auszuwerfen, die du empfangen und wieder verarbeiten könntest. davon abgesehen habe ich meine zweifel ob deine paintComponent(Graphics) methode überhaupt jemals von irgendwem aufgerufen wird. würde deine klasse von Component erben so hätte ich diesen zweifel nicht, jedoch wäre es unsinnig, da paint(Graphics) zuerst aufgerufen werden würde und dieses nomalerweise dann unter anderem paintComponent(...) aufruft. sprich, wenn du von Component erben möchtest, dann verlege den code von paint(Graphics) in paintComponent(Graphics), denn in paint(...) sollte man eigentlich nix zeichen (funktioniert zwar trotzdem, ist aber unsauber). ach ja, bevor ich's vergesse. wenn du von Component erben möchtest, dann vergiss nicht, daß deine Component natürlich auch irgendwie mitteilen muss, wie groß sie sein möchte. will sagen, vergiss nicht die getPreferredSize()-methode zu überschreiben.
viel erfolg
wayne