Swing Bei größe verändern des Fensters Grafik weg

Status
Nicht offen für weitere Antworten.

Am0k3o0o

Mitglied
Ich habe da ein Java Programm, womit man rechtecke, ovale oder frei zeichnen kann. Man kann Farbe ändern usw..

Mein Problem ist, dass wenn ich die Größe des Fensters verändere oder das fenster in den Hintergrund kommt (indem ich z.B. kurz auf mozilla gehe und dann wieder zurück zu meinem Programm), dann ist die gezeichnete Grafik weg. Wenn ich jedoch dann wieder anfange zu zeichnen, ist die vorher gezeichnete Grafik wieder da. Das soll aber gleich nach dem fenster vergrößern der fall sein. Die Grafik wird mit double buffering gezeichnet.

Ich habe mit einem ComponentListener versucht, dem ganzen zu entgegnen. So habe ich componentResized benutzt und dort einfach das Image neu gezeichnet. Beim vergrößern des Bildes klappt es, auch wenn es flackert. Aber wenn ich das ziehen beende (also die linke maustaste los lasse), dann ist das Bild wieder weg.

Nachdem ich mich etwas informiert habe, glaube ich, dass er nach dem resize entweder die repaint() oder die paintComponent(Graphics g) methode aufruft. Diese rufen dann die update() methode auf, die das ganze bild löscht (mit einem rechteck der hintergrundfarbe füllt). So habe ich versucht, diese Methoden zu überschreiben, wofür ich eine eigene Klasse erstellt habe:

Code:
    class DrawPanel extends JComponent
    { 
    	@Override
	public void update( Graphics g ){ 
          System.out.print("upd");
        }
		
    	@Override
	public void repaint() {
	    System.out.print("repaint");
			 
	}

      @Override
      protected void paintComponent(Graphics g) {
	    super.paintComponent( g );
            System.out.print("PC");
      }
    }


Es ist mir absolut bewusst, dass System.out.print() nicht dazu führt, mein bild neu zu zeichnen ^^ es soll nur ein test sein, ob es funktioniert, wenn ich das fenster vergrößere, bzw wenn das bild verschwindet. Tut es aber nicht.

Weiteres zu meinem Programm: Ich habe ein Container, mit einem BorderLayout. Oben Panel1, wo die Buttons und auswahlfunktionen vorhanden sind. Unten Panel2, wo sich das zeichenfeld befindet. Den ganzen code werde ich nicht reinschreiben, da alle klassen zusammen etwas über 1100 zeilen besitzen.

Wie kriege ich das hin? HILFEEEEEEE.......
 

Schandro

Top Contributor
Du brauchst bei Swing Double Buffering nicht per Hand einbauen, es ist bereits vorhanden.

...Oben Panel1, wo die Buttons und auswahlfunktionen vorhanden sind. Unten Panel2...
Sind das wirklick Panel und Button oder meinst du JPanel und JButton?
AWT und Swing sollte man nicht mischen.
 

Am0k3o0o

Mitglied
Sorry..es sind natürlich JPanel und JButton...

Und beim Buffering habe ich es so gemacht, dass er es erst in ein Double Buffered Image zeichnet und später wird vom Image auf die Zeichenfläche gezeichnet...

Aber das ist nicht mein problem...Habe mir das nochmal hier im tutorial angeguckt...dort wurde das genauso mit dem überschreiben gemacht...doch bei mir funktioniert es nicht, obwohl ich es ja genauso gemacht habe...kurios...hmm...jemand eine idee?
 

Am0k3o0o

Mitglied
Ok...mittlerweile habe ich es..natürlich muss ich meine klasse DrawPanel als meine zeichenfläche benutzen, was ich vorher nicht gemacht habe...Dann noch klar stellen, dass er bei jedem resize des fensters auch das Buffered Image auf die gleiche größer verändern, weil sonst im neuen bereich der hintergrund grau war und fertig...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JFrame - manuell Größe verändern AWT, Swing, JavaFX & SWT 6
A JPanel größe verändern AWT, Swing, JavaFX & SWT 4
D Swing Jlist Größe während der Laufzeit verändern. AWT, Swing, JavaFX & SWT 11
S Größe von Panel verändern welches auf anderem Panel sitzt AWT, Swing, JavaFX & SWT 10
S SWT Shell durch Event in der Größe verändern AWT, Swing, JavaFX & SWT 7
S Swing Größe von JLabels verändern sich in einem Panel unterschiedlich AWT, Swing, JavaFX & SWT 6
O Größe von Komponenten im JFrame manuell verändern AWT, Swing, JavaFX & SWT 2
M JScrollPane auf JPanel - Resizing - Größe verändern AWT, Swing, JavaFX & SWT 10
L Größe von Komponenten im Nulllayout mit der Maus verändern. AWT, Swing, JavaFX & SWT 2
D JSPinner Größe verändern - setSize() funktioniert nicht AWT, Swing, JavaFX & SWT 7
D JTable-Größe mit Fenstergröße verändern. AWT, Swing, JavaFX & SWT 4
G Größe von JButton verändern? AWT, Swing, JavaFX & SWT 3
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
H JDialog in Größe ändern - Resize-Cursor bleibt betreten der Komponente AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
Yonnig JavaFX Größe von WebView an Content anpassen AWT, Swing, JavaFX & SWT 3
J Swing Komponente wird unpassend angepasst in der Größe AWT, Swing, JavaFX & SWT 35
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
D JavaFX Größe des Bild an ImageView anpassen AWT, Swing, JavaFX & SWT 3
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
B Größe der Parent-Component dynamisch an children anpassen AWT, Swing, JavaFX & SWT 30
L JavaFX AnchorPane an die Größe der Scene oder Window binden? AWT, Swing, JavaFX & SWT 3
K JavaFX Component Größe an Inhalt anpassen AWT, Swing, JavaFX & SWT 11
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
R Größe von Scene und stage an grid anpassen AWT, Swing, JavaFX & SWT 4
M Java FX größe der shapes anpassen AWT, Swing, JavaFX & SWT 0
L Swing JPanel Größe anpassen AWT, Swing, JavaFX & SWT 6
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
C Swing JFrame ändert Größe AWT, Swing, JavaFX & SWT 0
G Swing JButton ändert (unerwünscht) Größe bei Ausführung AWT, Swing, JavaFX & SWT 4
L Swing Größe automatisch anpassen AWT, Swing, JavaFX & SWT 14
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
J Swing Pane im SplitPane automatische Größe aktivieren AWT, Swing, JavaFX & SWT 0
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
L JavaFX ListView Größe anpassen AWT, Swing, JavaFX & SWT 1
Neumi5694 Größe von Komboboxen neu berechnen AWT, Swing, JavaFX & SWT 3
L JavaFX List oder TableView Größe dynamisch anpassen? AWT, Swing, JavaFX & SWT 4
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
I CSS - backgroundImage - Größe automatisch an den Container anpassen AWT, Swing, JavaFX & SWT 1
C Größe des Mauszeigers ermitteln AWT, Swing, JavaFX & SWT 5
MaxG. JFrame Größe ändern AWT, Swing, JavaFX & SWT 16
P Jframe Bild einfügen, Hintergrund Farbe ändern, und Button schrift Größe ändern AWT, Swing, JavaFX & SWT 2
K GridBagLayout verändert die größe? AWT, Swing, JavaFX & SWT 1
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
D JavaFX Alle Knöpfe auf die gleiche Größe AWT, Swing, JavaFX & SWT 14
M LayoutManager GridBagLayout passt seine größe nicht an AWT, Swing, JavaFX & SWT 3
F Gui weicht von Designpreview ab (kein fensterrahmen, andere größe) AWT, Swing, JavaFX & SWT 13
M SWT ScrollPane Größe zu klein AWT, Swing, JavaFX & SWT 6
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
L JButton - Größe anders als erwartet AWT, Swing, JavaFX & SWT 2
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
W GridBagLayout Größe geben AWT, Swing, JavaFX & SWT 1
S Swing JFrame hat nicht die Größe, die ich eingegeben habe AWT, Swing, JavaFX & SWT 3
S Größe der Komponenten, beim ändern der größe des Frames, mit ändern! AWT, Swing, JavaFX & SWT 2
S Größe und Farbe vom JButton festlegen AWT, Swing, JavaFX & SWT 2
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
T Swing Größe des Randes AWT, Swing, JavaFX & SWT 2
C LayoutManager JFrame größe und ausrichtung + Position von Fensterelementen AWT, Swing, JavaFX & SWT 2
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
D SWT Window passt Größe nicht an AWT, Swing, JavaFX & SWT 4
N JPanel größe wissen/festlegen vor dem Anzeigen AWT, Swing, JavaFX & SWT 3
U Größe eines Button im Menü ändern AWT, Swing, JavaFX & SWT 1
G JavaFX Größe der Parentknoten AWT, Swing, JavaFX & SWT 5
R JPanel-Größe verändert sich nicht. Warum? AWT, Swing, JavaFX & SWT 5
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
F Swing JComboBox - Frage zur Größe AWT, Swing, JavaFX & SWT 11
X Swing Größe eines Fensters JFrame / Frame AWT, Swing, JavaFX & SWT 5
SimonRap Swing JFrame Größe zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Größe der JFrame Decorations herausfinden? AWT, Swing, JavaFX & SWT 4
O Swing Jpanel autom. auf JFrame Größe bringen AWT, Swing, JavaFX & SWT 6
M Swing JLabel mit fester größe nachträglich formatieren AWT, Swing, JavaFX & SWT 2
A JComponent Größe AWT, Swing, JavaFX & SWT 8
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
S Swing TextPane größe beschränken AWT, Swing, JavaFX & SWT 2
R Ellipse2D ändert Größe AWT, Swing, JavaFX & SWT 3
H Swing JButton größe ändern AWT, Swing, JavaFX & SWT 5
G JScrollPane reagiert nicht auf Änderung der JPanel-Größe AWT, Swing, JavaFX & SWT 4
P JPanel Größe ändern AWT, Swing, JavaFX & SWT 22
I Größe eines rotierten Images AWT, Swing, JavaFX & SWT 3
C Button Größe einstellen klappt nicht (setBounds) AWT, Swing, JavaFX & SWT 8
S 2D-Grafik Canvas Problem(Größe) AWT, Swing, JavaFX & SWT 6
R Größe/Anordnung der Gui-Elemente automatisch? AWT, Swing, JavaFX & SWT 6
S Die größe eines JButton ändern AWT, Swing, JavaFX & SWT 7
U feste Größe für den Zeichenbereich eines JFrames AWT, Swing, JavaFX & SWT 4
L Graphics.drawImage() - Output-Größe entspricht nicht Parametern AWT, Swing, JavaFX & SWT 10
P Tatsächliche Größe für Applet AWT, Swing, JavaFX & SWT 3
C Swing GridBag-Probleme (Größe und Ausrichtung) AWT, Swing, JavaFX & SWT 3
K JFrame Größe ändern AWT, Swing, JavaFX & SWT 4
M jTable - Größe beim Erzeugen AWT, Swing, JavaFX & SWT 4
hdi Swing JFrame Größe ermitteln AWT, Swing, JavaFX & SWT 6
S Swing jFrame auf maximale Größe setzten AWT, Swing, JavaFX & SWT 7
Z größe der komponenten bestimmen AWT, Swing, JavaFX & SWT 16
X Alte Frame-Größe beim wiederholten Aufruf AWT, Swing, JavaFX & SWT 5
I Größe von JPanel ändern AWT, Swing, JavaFX & SWT 6
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben