aktualisieren eines Images

Status
Nicht offen für weitere Antworten.

e9926044

Bekanntes Mitglied
Hallo,

wie kann ich von einer anderen Klasse paintComponent der unteren Klasse so aufrufen, dass mir mein BufferedImage immer wieder neu auf meinem JFrame gezeichnet wird? oder wie kann ich das machen?

Vielen DANK für eure Antworten!!

lg
Hannes


Code:
class BildPanel extends JPanel{
    private Image img1;
    private Image img2;
    private static BufferedImage bufferedImage;
    public BildPanel(Image img1, Image img2){	
        bufferedImage = new BufferedImage(320, 240, BufferedImage.TYPE_3BYTE_BGR); 
	this.img1 = img1;
	this.img2 = img2;
	}
    public BildPanel()
	{
	bufferedImage = new BufferedImage(320, 240, BufferedImage.TYPE_3BYTE_BGR);
	for(int i = 0; i < 240; i++)
	    {
	    for (int j = 0; j < 320; j++)
		BildPanel.setPixels(j, i, j*i*9000);    
	    } 
	System.out.println("Konstruktor ohne ich bins");
	this.img2 = img2;
	}
    public static void setPixels(int x, int y, int pixels)
	{
        bufferedImage.setRGB(x, y, pixels);
	}
    protected void paintComponent(Graphics g) 
	{
        super.paintComponent(g);
        g.drawImage(img1,0,0,this);
	g.drawImage(img2, 110, 73, this); 
	}
    public BufferedImage getBuffImage()
	{
	return bufferedImage;
	}
}
 

Wildcard

Top Contributor
paintComponent wird nicht direkt aufgerufen.
Du kannst allerdings freundlich um ein Neuzeichnen bitten in dem du repaint() auf der Komponente aufrufst.
 

e9926044

Bekanntes Mitglied
Hast du eine Idee, warum das bei mir nicht funktioniert?
ich habe in einer anderen Klasse:wie unten - geschrieben aber es ändert sich nichts
Weiß da jemand Rat?

Vielen Dank!!

lg

Code:
class OutputThread extends Thread {
    BildPanel bild = new BildPanel();              //Konstruktor
    public OutputThread()
	{
	for(int i = 0; i < 240; i++)
	    {
	    for (int j = 0; j < 320; j++)
		BildPanel.setPixels(j, i, 16777100);    //16777215 == weiß, 0 == schwarz
	    }
	bild.repaint();
	}
 

AlArenal

Top Contributor
Mein Tipp:
Weil "bild" eine lokale Instanz in der Klasse "OutputThread" ist und nirgends angezeigt wird.

Abgesehen davon werd ich bei dem Code blind... Statische Methode... verschachtelte Schleife um eine rechteckige Fläche mit einer Farbe zu füllen... ein einzelner int als Farbe...

Ohgottohgottohgott ;)
 

e9926044

Bekanntes Mitglied
und was kann ich da machen, dass es geht, public machen oder wie?

Vielen DANK!!

es ändert sich natürlich noch einiges!!, ich bin ja noch beim austeste!!

lg
Hannes
 

AlArenal

Top Contributor
e9926044 hat gesagt.:
und was kann ich da machen, dass es geht, public machen oder wie?

Jedenfalls nicht ins Blaue raten.

Aus naheliegenden Gründen kann sich an einem angezeigten Bild nichts ändern, wenn du weder das angezeigte Bild änderst, noch dieses durch ein anderes austauschst. Von beidem ist in deinem Code nichts zu sehen. An einem eh nicht sicvhtbaren Bild kannst du natürlich dengeln wie du lustig bist, da darf es nicht weiter verwundern wenns den Bildschirm kalt lässt.
 

e9926044

Bekanntes Mitglied
SO ich habe es jetzt umgeschrieben aber ich komm nicht drauf, wie ich das Image aktualisieren könnte
Vielleicht kann mirdoch jemand einen näheren Tip geben.

Vielen Dank!!

lg
Hannes


mein Code jetzt:
Code:
Klasse 1: main!!

ImageComponent displayImage = new ImageComponent();
	for(int i = 0; i < 240; i++)
	    {
	    for (int j = 0; j < 320; j++)
		displayImage.setPixels(j, i, j*i);    //16777215 == weiß, 0 == schwarz
	    } 
	img1 = displayImage.getBuffImage(); 
        add(new BildPanel(img, img1)); 


Klasse 2:

class BildPanel extends JPanel{
    private Image img1;
    private Image img2;
    public BildPanel(Image img1, Image img2){	
         
	this.img1 = img1;
	this.img2 = img2;
	}
    public BildPanel() {}
    protected void paintComponent(Graphics g) 
	{
        super.paintComponent(g);
        g.drawImage(img1,0,0,this);
	g.drawImage(img2, 110, 73, this); 
	}
}


Klasse 3:
class ImageComponent extends JComponent
{
    private BufferedImage bufferedImage;
    public ImageComponent()
    {
        bufferedImage = new BufferedImage(320, 240, BufferedImage.TYPE_INT_RGB);
    }

    public void setPixels(int Reihe, int Spalte, int pixels)
    {
        bufferedImage.setRGB(Reihe, Spalte, pixels);
    }

    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        g.drawImage(bufferedImage, 0, 0, this);
    }
     public BufferedImage getBuffImage()
	{
	return bufferedImage;
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Aktualisieren eines Chatprofils (Anzahl Minuten) Allgemeine Java-Themen 4
L Best Practice Zip Datei aktualisieren Allgemeine Java-Themen 1
S @version in Kommentaren aktualisieren Allgemeine Java-Themen 10
G jTable aktualisieren?! Allgemeine Java-Themen 1
MiMa Metadaten in PDF scheiben/Aktualisieren Allgemeine Java-Themen 11
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
C Threads Variablen in einem Thread Aktualisieren Allgemeine Java-Themen 17
Q Zeit in GUI selbst aktualisieren Allgemeine Java-Themen 5
G Binärbaum aktualisieren Allgemeine Java-Themen 11
2 ArrayList aktualisieren Algorithmus Allgemeine Java-Themen 11
M Applet Oberfläche aktualisieren Allgemeine Java-Themen 5
X Kann JLabel in JFrame nicht aktualisieren Allgemeine Java-Themen 3
Iron Monkey JNLP nach Änderung automatisch aktualisieren Allgemeine Java-Themen 18
T .jar-Datei aus Java heraus aktualisieren Allgemeine Java-Themen 8
M JTree aktualisieren nach Mausklick Allgemeine Java-Themen 12
X Konsole aktualisieren Allgemeine Java-Themen 17
Benji0815 Wert in GUI aktualisieren, Beobachter Allgemeine Java-Themen 9
A ResultSet TableModel aktualisieren? Allgemeine Java-Themen 9
P Umrechnungskurse für Währungen periodisch aktualisieren Allgemeine Java-Themen 2
M Werte im Browser aktualisieren Allgemeine Java-Themen 2
S Model richtig aktualisieren Allgemeine Java-Themen 7
D JLabel aktualisieren Allgemeine Java-Themen 4
B JScrollPane in einer JTable aktualisieren? Allgemeine Java-Themen 9
MQue Konzept- Frage zum Button-Aktualisieren Allgemeine Java-Themen 5
MQue Daten aktualisieren Allgemeine Java-Themen 2
G Textfeld alle 0.5 Sekunden aktualisieren Allgemeine Java-Themen 2
A Eclipse und JAR’s aktualisieren Problem. Allgemeine Java-Themen 4
J Problem mit dem aktualisieren der Tabelle Allgemeine Java-Themen 8
G properties datei aktualisieren Allgemeine Java-Themen 4
K JTree Inhalt löschen und Anzeige aktualisieren Allgemeine Java-Themen 13
J Aktualisieren einer Oberfläche Allgemeine Java-Themen 2
T JEditorPane aktualisieren Allgemeine Java-Themen 14
K layer in Jsp Aktualisieren Allgemeine Java-Themen 3
K Datei in JAR-File aktualisieren Allgemeine Java-Themen 11
D desktop nach ändern des hintergrunds aktualisieren Allgemeine Java-Themen 3
M Container aktualisieren. Nur wie? Allgemeine Java-Themen 3
N JList aktualisieren Allgemeine Java-Themen 23
J ZIP-Datei aktualisieren Allgemeine Java-Themen 5
B JComboBox-Eintrag ohne Enter aktualisieren Allgemeine Java-Themen 2
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
T Rotationswinkel eines Bildes bestimmen Allgemeine Java-Themen 4
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
M Array Rang eines Elements Allgemeine Java-Themen 4
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
bueseb84 Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
E Status eines USB Mikrofon abfragen Allgemeine Java-Themen 2
DaCrazyJavaExpert OOP Ansätze und Tipps zum Porgrammieren eines Taschenrechners Allgemeine Java-Themen 25
A OOP Problem beim Berechnen der größten Fläche eines Ringes Allgemeine Java-Themen 19
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
I Verbindung eines Java-Plugins mit Webserver Allgemeine Java-Themen 3
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
M Rechenprogramm eines wissenschaftlichen Taschenrechners Allgemeine Java-Themen 4
S Eigenschaften (hier Verknüpfung) eines Files lesen Allgemeine Java-Themen 2
E Typüberprüfung eines chars Allgemeine Java-Themen 5
H Hilfe bei Erstellung eines Hilfe Fenster bei Tastendruck (F1 bei Win98) Allgemeine Java-Themen 5
T Teile eines Double-Wertes verändern Allgemeine Java-Themen 2
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4

Ähnliche Java Themen


Oben