Ergebnis 1 bis 8 von 8

Thema: Methode wird einfach aufgerufen

  1. #1
    Meister(in) Avatar von goldeneye
    Registriert seit
    07.06.2008
    Ort
    Oberfranken
    Alter
    24
    Beiträge
    312
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Methode wird einfach aufgerufen

    Hi,

    ich habe folgenden Code:

    Code:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.geom.*;
    public class Fenster extends JFrame
    {
    public Graphics g;
    public Fenster()
    {
                  super("Fenster");
                  setSize(800,600);
                  setLocation(100,100);
                  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
                  
    }
    
      public void zeigeFenster(){
         setVisible(true); 
        }
    
      public void paint(Graphics g)
      { 
        g.drawString( "Willkommen Username,", 25, 50 );
    
      }
      
          
    
           
    }
    Wenn ich nun das Objekt erstelle und die Methode zeigeFenster() aufrufe, erscheint der Text Willkommen Username, obwohl ich die Methode paint überhaupt nicht aufgerufen habe. An was liegt das?

    lg
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Besucht mich doch mal: Marketingtower.de

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Methode wird einfach aufgerufen

    HI goldeneye,
    es gibt bestimmte Java-Methoden, die werden standardmäßig aufgerufen, ohne dass sich der Benutzer darum kümmern muss, hierzu gehört z.B. auch System.out.print(variabel); , die Methode toString() wird automatisch aufgerufen.
    Auf deinen Fall gilt dies ebenfalls, denn bei einem neuen Aufruf eines JFrames wird dies automatisch gezeichnet ( nur die Sichtbarkeit kannst du mit der Visible-Methode einstellen).
    Siehe auch hier: http://openbook.galileodesign.de/jav...910d3e15169b91


    Wenn du das Fenster neu Zeichnen willst ,rufst du wie auf der Seite beschrieben dann auch nicht einfach paint() sondern repaint() auf.
    Geändert von K.Y.L.T. (19.12.2008 um 10:17 Uhr)
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    Meister(in)
    Themenstarter
    Avatar von goldeneye
    Registriert seit
    07.06.2008
    Ort
    Oberfranken
    Alter
    24
    Beiträge
    312
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Methode wird einfach aufgerufen

    Hi,

    und was kann ich tun, damit das noch nicht gezeichnet wird?^^

    lg
    Besucht mich doch mal: Marketingtower.de

  4. #4
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Methode wird einfach aufgerufen

    wieso schreibst du den string überhaupt mit paint??
    mach nen JLabel und gib dem ding nen text, das kannste dann nach belieben visible oder invisible setzen und den text kannst da auch beliebig ändern
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  5. #5
    Meister(in)
    Themenstarter
    Avatar von goldeneye
    Registriert seit
    07.06.2008
    Ort
    Oberfranken
    Alter
    24
    Beiträge
    312
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Methode wird einfach aufgerufen

    Hi,

    und wie geht das? Kannst du mal nen Beispielcode posten? Sry aber ich bin ein Neuling in Java.

    lg
    Besucht mich doch mal: Marketingtower.de

  6. #6
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Methode wird einfach aufgerufen

    und was kann ich tun, damit das noch nicht gezeichnet wird?^^
    Was willst du denn damit erreichen, wenn du einen Fenster erstellst, es aber nicht anzeigen willst ?
    wieso schreibst du den string überhaupt mit paint??
    Die Frage ist nicht, warum man paint benutzt, sondern wofür man es braucht. Es kann durchaus sinn machen , sich selber die Paintmethode zu überschreiben, wenn man z.B. unterschiedliche Applikationen hat und Komponenten unterschiedlich auszusehen haben. - Ich stimme dir aber zu, dass die Variante hier eigentlich so nicht programmiert wird.

    Lösung -die nicht zu empfehlen ist- Quick and Dirty:
    Definiere dier eine Klassenvarabel text, schreib da am Anfang text= "" rein und setze sie vor dem nächsten Repaint.

    Lösung sauber:
    Füge wärend der Laufzeit ein neues Objekt, z.B. einen Label deinem JFrame hinzu und setze darauf den Text, sobald du nun repaint auf dem JFrame aufrufst müsste dein Text erscheinen.
    und was kann ich tun, damit das noch nicht gezeichnet wird?^^
    Was willst du denn damit erreichen, wenn du einen Fenster erstellst, es aber nicht anzeigen willst ?
    wieso schreibst du den string überhaupt mit paint??
    Die Frage ist nicht, warum man paint benutzt, sondern wofür man es braucht. Es kann durchaus sinn machen , sich selber die Paintmethode zu überschreiben, wenn man z.B. unterschiedliche Applikationen hat und Komponenten unterschiedlich auszusehen haben. - Ich stimme dir aber zu, dass die Variante hier eigentlich so nicht programmiert wird.

    Lösung -die nicht zu empfehlen ist- Quick and Dirty:
    Definiere dier eine Klassenvarabel text, schreib da am Anfang text= "" rein und setze sie vor dem nächsten Repaint.

    Lösung sauber:
    Füge wärend der Laufzeit ein neues Objekt, z.B. einen Label deinem JFrame hinzu und setze darauf den Text, sobald du nun repaint auf dem JFrame aufrufst müsste dein Text erscheinen.

    Beispiel:
    Code:
      public staitc void main(String[] args){
        Fenster f = new Fenster();   // Hier wäre noch nichts dabei , wenn du nun anhalten würdest, wäre das Fenster leer
      JLabel label = new JLabel("Mein text"); // Erzeuge Label
     f.add(label); // füge das label auf dem fenster hinzu
    f.repaint(); // zeichne das Fenster neu
      }
    Geändert von K.Y.L.T. (19.12.2008 um 15:18 Uhr)
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  7. #7
    Meister(in)
    Themenstarter
    Avatar von goldeneye
    Registriert seit
    07.06.2008
    Ort
    Oberfranken
    Alter
    24
    Beiträge
    312
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Methode wird einfach aufgerufen

    Code:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.geom.*;
    public class Fenster
    {
      public static void main(String[] args){
        Fenster f = new Fenster();   // Hier wäre noch nichts dabei , wenn du nun anhalten würdest, wäre das Fenster leer
      JLabel label = new JLabel("Mein text"); // Erzeuge Label
     f.add(label); // füge das label auf dem fenster hinzu
    f.repaint(); // zeichne das Fenster neu
      }
    
           
    }
    cannot find symbol - method add(javax.swing.JLabel)
    Was ist nun falsch? Habe ich vergessen eine Datei zu includieren?

    lg
    Besucht mich doch mal: Marketingtower.de

  8. #8
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Methode wird einfach aufgerufen

    Ich empfehle dir über Google, dass Thema Vererbung , objektorientierte Programmierung und Seiten wie galieo anzuschauen.


    Du hast eine einfache Klasse erzeugt, der du zwar die nötigen importe mitgegeben hast, allerdings vergisst du sie von JFrame erben zu lassen.

    extends JFrame

    wie du es oben geschrieben hast fehlt.
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

Ähnliche Themen

  1. JS Funktion wird im FF nicht aufgerufen
    Von martinfre im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 02.07.2008, 18:31
  2. prüfen ob website per pda, handy, ... aufgerufen wurde
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 20.09.2007, 21:37
  3. News Protlet wird einfach nicht angezeigt
    Von pherison im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 2
    Letzter Beitrag: 16.08.2007, 20:19
  4. alarmsirene wenn quellcode aufgerufen wird
    Von alarm im Forum HTML & CSS Forum
    Antworten: 22
    Letzter Beitrag: 11.07.2007, 17:06
  5. eine seite drucken die nicht aufgerufen ist
    Von vandyce im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 30.04.2004, 10:55

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •