paint() methode von externer Klasse aufrufen

A0D0S0

Mitglied
Hallo,
ich bin grad dabei n kleines Hangman zu programmieren. Hab alles fertig doch ich schaffe es einfach nicht, das Strichmännchen zu zeichnen. Die folgenden Codeschnipsel sind nur zum testen gedacht. Normalerweise wird das Level in Hangman gesetzt wenn etwas falsches eingegeben wurde.

Hier die Graphics - Klasse

Java:
public class HangmanGraphic extends JPanel
{
    private int level = 0;

    public HangmanGraphic(){
        Dimension d = new Dimension(400,400);
        setPreferredSize(d);
    }

   
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        
        
        if(getLevel()  == 1){
            g.drawLine(300,300,300,100);
        }
        if(getLevel()  == 2){
            g.drawLine(300,100,170,100);
        }
        if(getLevel()  == 3){
            g.drawLine(250,100,300,150);
        }
        if(getLevel()  == 4){
            g.drawLine(170,100,170,123);
        }
        if(getLevel()  == 5){
            g.drawOval(161,123,20,20);
        }
        if(getLevel()  == 6){
            g.drawLine(170,143,170,185);
        }
        if(getLevel()  == 7){
            g.drawLine(170,160,150,150);
        }
        if(getLevel()  == 8){
            g.drawLine(170,160,190,150);
        }
        if(getLevel()  == 9){
            g.drawLine(170,185,155,198);
        }
        if(getLevel()  == 10){
            g.drawLine(170,185,186,199);
        }

    }

    public void setLevel(int level){
        this.level = level;
    }

    public int getLevel(){
        return level;
    }
}

und jetzt die restlichen Teile (MVC)

testPanel

Java:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.ArrayList;

public class testPanel extends HangmanGraphic {
	
	private Button test,addtest;
	private Panel p1,p2;
	//private HangmanGraphic hg = new HangmanGraphic();
	private ArrayList <String> g = new ArrayList <String>();
	public testPanel(){
		test = new Button("Test");
		addtest = new Button("Listadd");
		
		p1 = new Panel();
		p2 = new Panel();
		
		this.setLayout(new BorderLayout());
		this.add(p1,BorderLayout.CENTER);
		this.add(p2,BorderLayout.EAST);
		
		p1.add(new HangmanGraphic());
		p2.add(test);
		p2.add(addtest);
		
		ActionHandler h = new ActionHandler();
		
		test.addActionListener(h);
		addtest.addActionListener(h);
		
		
	}
	private class ActionHandler implements ActionListener
    {
        public void actionPerformed(ActionEvent e){
        	if(e.getSource()==addtest){
        		g.add(0,"haha");
        		setLevel(g.size());
        		repaint();
        	}
        }
    }
}

und die GUI

Java:
public class testGUI extends JFrame
{
    public static void main(String[]args){
        new testGUI();
    }

    public testGUI(){
        setSize(500,500);
        setTitle("TEST");
        setVisible(true); 
        Container c = getContentPane();
        c.add(new testPanel());
    }
}

z.I. die ArrayList in dem Panel simuliert sozusagen meine Liste falscher Wörter.
Alles lässt sich kompilieren und ausführen , das Level wird gesetzt, doch es wird nichts gezeichnet.

irgendwelche Ideen ?

greez A0D0S0
 
G

Gast2

Gast
Niemals AWT und Swing Komponenten mischen, evtl. löst das dein Problem schon.

EDIT:
ehm... Warum erbt testpanel von HangmanGraphic?
Du hast damit im endeffekt 2 "Instanzen" von HangsamGraphic. Den level setzt du auf der Instanz die nicht angezeigt wird.
Das Vererben ist hier völlig unnötig.
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Code:
private Panel p1,p2;
Panel ist eine AWT Komponente. Aber dein Problem liegt in der Vererbung von HangmanGraphic.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
S awt: paint Methode zeigt nichts an Java Basics - Anfänger-Themen 9
thet1983 start & paint Methode? Java Basics - Anfänger-Themen 0
D Wert einer Variable in paint-Methode verwenden Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
T Vererbung Wann wird die Methode paint aufgerufen? Java Basics - Anfänger-Themen 4
A Aufruf der paint() Methode Java Basics - Anfänger-Themen 3
J paint-methode blockiert settings von JComponents Java Basics - Anfänger-Themen 5
R Methoden Zeichnen auf Button-Druck durch Paint-Methode Java Basics - Anfänger-Themen 2
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
Q Zeichnen außerhalb der paint-methode Java Basics - Anfänger-Themen 7
A Methoden Variablen in paint methode Java Basics - Anfänger-Themen 4
M paint-Methode funzt nicht Java Basics - Anfänger-Themen 11
D OOP paint() Methode aus Unterklasse anstoßen Java Basics - Anfänger-Themen 3
K Scrollbar - Bild - paint-Methode - zoom Java Basics - Anfänger-Themen 10
S Bild aus paint() Methode auslagern Java Basics - Anfänger-Themen 14
T Etwas an paint()-Methode übergeben? Java Basics - Anfänger-Themen 6
TheKing Paint-Methode aufrufen Java Basics - Anfänger-Themen 14
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
H Paint Methode malt nicht im Panel Java Basics - Anfänger-Themen 4
S Frage zur paint-Methode Java Basics - Anfänger-Themen 3
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
G Nichtstatische Objekte in der paint()-Methode Java Basics - Anfänger-Themen 16
P paint Methode Java Basics - Anfänger-Themen 3
F Applets und die paint-Methode Java Basics - Anfänger-Themen 3
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
V paint()-methode manuell aufrufen? kein autostart erwuenscht Java Basics - Anfänger-Themen 3
T paint() wieder aus einder anderen methode aufrufen funzt nid Java Basics - Anfänger-Themen 2
G Paint Methode löscht alles Java Basics - Anfänger-Themen 4
G Klassen und paint methode Java Basics - Anfänger-Themen 2
X Malen außerhalb der paint() Methode Java Basics - Anfänger-Themen 4
G Zeichnen ausserhalb der paint Methode Java Basics - Anfänger-Themen 4
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
C Ausgaben mit der Paint-Methode Java Basics - Anfänger-Themen 5
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
M Probleme mit paint() aus java.awt.Graphics Java Basics - Anfänger-Themen 2
L Paint() wird scheinbar nicht richtig ausgeführt Java Basics - Anfänger-Themen 8
N aus Container components paint Java Basics - Anfänger-Themen 2
J paint() vs repaint() Java Basics - Anfänger-Themen 3
A Problem mit paint() Java Basics - Anfänger-Themen 2
Dogge Problem mit paint(Graphics g) im Applet Java Basics - Anfänger-Themen 13
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
L Erste Schritte Swing oder SWT Paint mit Grafikkarte? Java Basics - Anfänger-Themen 7
T paint() wird nicht aufgerufen Java Basics - Anfänger-Themen 2
K paint() mit einfügen Java Basics - Anfänger-Themen 14
K doppeltes paint beim Drucken Java Basics - Anfänger-Themen 8
F Eine Frage über paint() Funktion Java Basics - Anfänger-Themen 2
S [Applet] Objekte von init bei paint benutzen Java Basics - Anfänger-Themen 9
W repaint() ruft paint() nicht auf Java Basics - Anfänger-Themen 9
J Zweimal im gleichen Paint-Fenster malen Java Basics - Anfänger-Themen 8
V paint funktioniert nicht Java Basics - Anfänger-Themen 14
O Paint Programm mit Fehler Java Basics - Anfänger-Themen 2
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
S Datentypen Paint Programm Java Basics - Anfänger-Themen 7
L Paint zeichnet nicht gespeicherte Objekte Java Basics - Anfänger-Themen 3
A paint() - warum nicht aufrufen? Java Basics - Anfänger-Themen 3
S super.paint() Java Basics - Anfänger-Themen 4
M Paint und JColorChooser Java Basics - Anfänger-Themen 12
G hintergrund wird nicht gezeichnet bei paint() Java Basics - Anfänger-Themen 3
K Wieso wird "paint" nicht ausgeführt ? Java Basics - Anfänger-Themen 2
K JPanel, JFrame, paint() und wo ist mein Viereck ? Java Basics - Anfänger-Themen 19
F Frage zu JPanel und Paint Java Basics - Anfänger-Themen 5
M Problem mit paint() und Container. Java Basics - Anfänger-Themen 8
B Paint(Component) und externe Objekte Java Basics - Anfänger-Themen 6
T rotes herz public void paint(Graphics g) Java Basics - Anfänger-Themen 2
G frage zu paint Java Basics - Anfänger-Themen 3
T Mehrere paint Methoden in unterschiedlichen Klassen Java Basics - Anfänger-Themen 7
G Hilfe in paint() ; zeichnen Java Basics - Anfänger-Themen 15
C Einfaches Paint-Programm Java Basics - Anfänger-Themen 9
T .paint() aufrufen Java Basics - Anfänger-Themen 23
S Paint Teilweise Zeitverzögert Java Basics - Anfänger-Themen 6
R paint problem Java Basics - Anfänger-Themen 6
G mit paint() ins JPanel malen. Java Basics - Anfänger-Themen 6
M Auf Panels oder Labels malen? (paint) Java Basics - Anfänger-Themen 9
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
B Problem mit Einfügen von Choice (in ein Applet) aus Paint Java Basics - Anfänger-Themen 13
7 In Paint keine Schleife? Java Basics - Anfänger-Themen 13
G Paint auf Panel Java Basics - Anfänger-Themen 4
S paint() direkt auf JFrame seit 1.5 nicht mehr möglich? Java Basics - Anfänger-Themen 5
A Variablenübergabe in die Paint-Funktion Java Basics - Anfänger-Themen 4
D Zeichnen mit Paint zerstört ganzes Fenster Java Basics - Anfänger-Themen 5
T paint() ohne konstruktor aufzurufen? Java Basics - Anfänger-Themen 5
P paint() Java Basics - Anfänger-Themen 6
U paint Java Basics - Anfänger-Themen 8
C zu viele paint()'s. Java Basics - Anfänger-Themen 6
N Probleme mit paint() bei Implementierung in ein Panel Java Basics - Anfänger-Themen 4
Dilandau paint(Graphics g) { unbekannt in try{} / catch{} }? Java Basics - Anfänger-Themen 5
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
T Verschiedene Optionen in der Methode Java Basics - Anfänger-Themen 6
T Rekursive Methode Java Basics - Anfänger-Themen 13
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
Leyla Spezifischte Methode Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben