[SOLVED]Automatischer Methodenaufruf?

Status
Nicht offen für weitere Antworten.

metalfan

Aktives Mitglied
Hi,

der unten stehende Code erzeugt ein Fenster, mit dem Inhalt: Zum Beenden bitte ESC drücken...
In der Klasse Listing2805 werden Instanzen der Klassen MainFrameCommand(Event Handling) und MainFrameGUI(Grafische Ausgabe) erzeugt. Aber wo wird dem Programm gesagt das es die Methode paint der Klasse MainFrameGUI aufrufen soll?



Code:
import java.awt.*;
import java.awt.event.*;

class MainFrameGUI extends Frame
{
    //public MainFrameGUI(KeyListener cmd)
    public MainFrameGUI(KeyAdapter cmd)
    {
        super("Nachrichtentransfer");

        //Instanz der Klasse WindowClosingAdapter erzeugen um den X Button zu belegen
        addWindowListener(new WindowClosingAdapter(true));

        //setBackground(Color.lightGray);
        setSize(300,200);
        setLocation(200,100);
        setVisible(true);
        addKeyListener(cmd);
    }


    public void paint(Graphics g)
    {
        g.setFont(new Font("Serif",Font.PLAIN,18));
        g.drawString("Zum Beenden bitte ESC drücken...",10,50);
    }

}

import java.awt.*;
import java.awt.event.*;

//class MainFrameCommand implements KeyListener
class MainFrameCommand extends KeyAdapter
{
    public void keyPressed(KeyEvent event)
    {
        Frame source = (Frame)event.getSource();
        if (event.getKeyCode() == KeyEvent.VK_ESCAPE)
        {
            source.setVisible(false);
            source.dispose();
            System.exit(0);
        }
    }
}

import java.awt.*;
import java.awt.event.*;

public class Listing2805
{
    public static void main(String[] args)
    {
        MainFrameCommand cmd = new MainFrameCommand();
        MainFrameGUI     gui = new MainFrameGUI(cmd);
    }
}
 

Illuvatar

Top Contributor
Das passiert automatisch, wenn Windows (bzw. das OS eben) dem Fenster sagt, adss es sich zeichnen soll.

( -> beim ersten Öffnen, beim Verschieben, nach dem Wiederherstellen etc.)
 

metalfan

Aktives Mitglied
Hm, also java findet die Methode public void paint(Graphics g) und führt die einfach so aus? was passiert wenn in der Klasse mehrere Methoden definiert sind?
 

Illuvatar

Top Contributor
Die Methode ist in der Oberklasse Component definiert, diese wird ausgeführt. Wenn du die überschreibst wird dank late-binding (das is doch das, oder? ;) ) deine paint-Methode ausgeführt (virtual/override in C#).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H virtuelle Konsole [solved] AWT, Swing, JavaFX & SWT 9
M [SOLVED]komponenten unter einem JTabbedPane AWT, Swing, JavaFX & SWT 2
M [SOLVED]Hinzugefügter JTable+volle Fensterbreite ein AWT, Swing, JavaFX & SWT 3
M [SOLVED]MVC Beispiel von dbac AWT, Swing, JavaFX & SWT 2
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
X JTextPane automatischer Zeilenumbruch IM Wort AWT, Swing, JavaFX & SWT 2
Sin137 Automatischer Vervollständigung einer Texteingabe AWT, Swing, JavaFX & SWT 10
S Swing Automatischer Zeilenumbruch bei JTextPanes AWT, Swing, JavaFX & SWT 2
R JavaFX Automatischer Zeilenumbruch in Text AWT, Swing, JavaFX & SWT 13
G jTable mit automatischer Zeilenhöhe je nach Fenstergröße. AWT, Swing, JavaFX & SWT 3
O AWT Automatischer Doppelklick AWT, Swing, JavaFX & SWT 3
F (Split)Panel faden bei automatischer Größenanderung AWT, Swing, JavaFX & SWT 2
D JFrame in Taskleiste: Symbol nach automatischer Gruppierung AWT, Swing, JavaFX & SWT 5
J automatischer Tabulatorsprung AWT, Swing, JavaFX & SWT 2
I Automatischer Zeilenumbruch in JTextArea? AWT, Swing, JavaFX & SWT 5
R JTable, automatischer resize der Zellen nach einer Eingabe AWT, Swing, JavaFX & SWT 4
dereki2000 Welcher Methodenaufruf bei Hover, click,... AWT, Swing, JavaFX & SWT 5
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
Q AWT Methodenaufruf aus actionPerformed-Methode AWT, Swing, JavaFX & SWT 4
Y Applet Javascript / Java Methodenaufruf in nicht mehr aktueller JavaVersion AWT, Swing, JavaFX & SWT 0
K Event Handling Methodenaufruf in GUI AWT, Swing, JavaFX & SWT 7
R Applet JavaScript Methodenaufruf AWT, Swing, JavaFX & SWT 2
El_Lobo Swing Problem bei Methodenaufruf in innerer Klasse bei Listener AWT, Swing, JavaFX & SWT 3
P Swing Methodenaufruf beeinflusst TextArea nicht. AWT, Swing, JavaFX & SWT 6
A AWT Methodenaufruf "AWT-EventQueue-0" java.lang.NullPointerException AWT, Swing, JavaFX & SWT 4
W Methodenaufruf aus einer anderen Klasse AWT, Swing, JavaFX & SWT 3
D Methodenaufruf bei schließen des Frames AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben