1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

addMouseListener - problem

  • insomniac
  • 14. Mai 2005 um 16:24
  • Unerledigt
  • insomniac
    4
    insomniac
    Mitglied
    Punkte
    130
    Beiträge
    19
    • 14. Mai 2005 um 16:24
    • #1

    Hi,
    unverständlicherweise wird meine MouseEvent() methode nicht aufgerufen wenn ich auf den Bereich klicke für den sie definiert ist...

    der fenster-code des Proggies ist aufgeteilt in 2 *.java datein,

    eine enthält main & FensterAnzeigen Klasse,
    die andere die FensterVerwaltung & die Panel-Klasse(in der addMouseListener() implementiert ist)
    der code schauat in etwa so aus:

    Code
    [color=Red]//		  Datei 1[/color]
    
    
    public class JGammon {		//Hauptfensterklasse
    
    
        static UnBugger Report = new UnBugger("report.txt");    // Report.txt als Ausgabe für "normale" Messages via UnBugger
    	static UnBugger ErrorLog = new UnBugger("Errorlog.txt");// errorlog.txt für fehlermeldungen via Unbugger
    
    	public JGammon(){
    
    		// Hauptfenster erzeugen
    
    
    		  hauptfenster.setLocation();
    
    
    		hauptfenster.show();
    
    	}
    
    
    
    	public static void main(String[] args) {
    		new JGammon();
    	}
    
    }
    
    
    [color=Red] // Datei 2[/color]
    
    
    
    
    public class Hauptfenster extends JFrame {	// fenster initialisieren
    
      JGammonPanel leinwand = new JGammonPanel(this);
    
    
      public Hauptfenster() {
    	 super();
    
    
    	 try {
    		fensterEinrichten();
    	 }
    	 catch(Exception e) {
    		e.printStackTrace();
    	 }
      }
     
    
    
      private void fensterEinrichten() throws Exception  {  //Initialisierung der Komponenten
    
    
    	 // Anwendungssymbol einrichten
    	 java.net.URL tmp = Hauptfenster.class.getResource("img/black.gif");
    	 if (tmp != null){
    		setIconImage(Toolkit.getDefaultToolkit().createImage(tmp));
    		  JGammon.Report.msg("Icon gefunden...IconImage erzeugt");
    	 }
    	 leinwand.setSize(640, 480);
    	 getContentPane().add(leinwand);
    	 this.setSize(new Dimension(640, 480));
    	 this.setTitle("Das Java-Millionenquiz");
    	 this.setResizable(false);
    
    	 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      }
    
    
     
    }
    
    
    
    
    class JGammonPanel extends JPanel {		// Zeichenfläche (gesamter Inhalt des Fensters)
    
       static Image black;
       Hauptfenster hf;
       Point MausPos;
    
    
    
      JGammonPanel(Hauptfenster fenster) {
    	 hf = fenster;
    
    
    
    		
    	this.setLayout(null);
    
    	[color=Orange]addMouseListener(new MouseAdapter(){
     		 public void MousePressed(MouseEvent e){
     			 MausKlick(e);
     		 };
     	 });[/color]
    
      }
    
    
      public void paintComponent(Graphics g) {
    	 super.paintComponent(g);
    
    	 g.drawImage(board, 0, 0, getWidth(), getHeight(), this);   
    	 if(MausPos !=null)	
    	 {
    		 g.drawImage(black,MausPos.x,MausPos.y,getWidth(), getHeight(), this);
    	 }
    
      }
    
    
     void MausKlick(MouseEvent e) {	 			// Mausevent als Point abspeichern
    	  MausPos =new Point(e.getX(),e.getY());
      };
    
    }
    Alles anzeigen


    danke im Voraus
    cheers
    ein schlafloser

  • JohnFoo
    20
    JohnFoo
    Mitglied
    Reaktionen
    61
    Punkte
    4.231
    Beiträge
    761
    • 14. Mai 2005 um 17:26
    • #2

    Code posten. CODE-Tag benutzen.

  • KeinWunder
    7
    KeinWunder
    Mitglied
    Punkte
    490
    Beiträge
    90
    • 15. Mai 2005 um 20:58
    • #3

    hy!

    Code
    [color=#ffa500]addMouseListener(new MouseAdapter(){
     		 public void mousePressed(MouseEvent e){
     			 MausKlick(e);
     		 };
     	 });[/color]



    Mit "MousePressed" legst du nur eine neue Methode an, die aber nie aufgerufen wird.
    Richtig heißts mousePressed -> jetzt hast du sie richtig überschrieben.

    Four stages of acceptance:
    1.) this is worthless nonsense
    2.) this is interesting, but perverse, point of view
    3.) this is true, but quite unimportant
    4.) I alwas said so
    J.B.S. Haldane

  • insomniac
    4
    insomniac
    Mitglied
    Punkte
    130
    Beiträge
    19
    • 15. Mai 2005 um 23:57
    • #4

    tsts, was man manchmal einfach nicht überreisst....

    danke

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung