Automatischer repaint bei Swing so wie bei AWT?

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo zusammen,

ich habe ein Fenster erstellt in dem ein wenig Text steht und ein Bild zu sehen ist.
Wenn ich dieses Fenster und die dazugehörige Menübar per AWT Programmiere und ich das Fenster außerhalb des Bildschirms und anschließend wieder rein ziehe, wird der Inhalt Automatisch repainted.

Wenn ich das Programm mit Swing (extends JFrame statt extends Frame und setJMenubar statt setMenubar) realisiere und es aus der Bildfläche rausziehe und anschließend wieder rein, muss ein manueller repaint erfolgen.

Weiß jemand wie ich das Problem bei Swing lösen kann?
Hab schon viel gelesen und gesucht aber nix gefunden!

Vielen Dank und viele Grüße!
 

Oni

Top Contributor
Hast du in deinem Swing-Programm soetwas drin?

Code:
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    ... 

}
 
G

Gast

Gast
Ich habe zwar die zweite Zeile drin ( paint(Graphics g) ) drin, allerdings statt dem paintComponent(g) nur ein paint(g); . Wenn ich das ändere zu dem was du geschrieben hast, wird gar nichts mehr angezeigt.

Hier der Code:

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

public class wnd extends JFrame
{
int w = 800; //breite des Fensters
int h = 450; //höhe des Fensters
 
 public static void main(String[] args)
 {
 wnd fenster = new wnd(); 
 }

public wnd()
 {
 super("Fenster");
 setJMenuBar(getJMenubar());
 setLocation(300,300);
 setSize(w,h);
 setVisible(true);
 setResizable(false);
 setBackground(new Color(200,200,200));
 System.out.println("WINDOW OPENED");
 }

Image logo = Toolkit.getDefaultToolkit().getImage("img/logo.jpg");
public void paint(Graphics g)
{
 paintComponents(g);
 g.drawImage(logo,w-logo.getWidth(this),45,this);
 System.out.println("PAINT");
 g.setFont(new Font("Verdana",Font.PLAIN,12));
 g.drawString("wnd 1 2 3",51,101);
 System.out.println("DRAW");
}

public JMenuBar getJMenubar()
 {
	JMenuBar Jbar = new JMenuBar();
	ActionListener printListener = new ActionListener( )
	{
		public void actionPerformed(ActionEvent event)
		{	
		if (event.getActionCommand() == "REPAINT"){repaint();System.out.println("--> REPAINT");}
		if (event.getActionCommand() == "Speichern"){System.out.println("--> SAVE");}
		if (event.getActionCommand() == "Speichern Unter"){System.out.println("--> SAVE AS");}
		if (event.getActionCommand() == "Beenden"){System.out.println("--> WINDOW CLOSED");System.exit(0);}
		}
    };
	JMenu datei = new JMenu("Datei");
	JMenu dateisub = new JMenu("Speichern");
	JMenuItem item;
	datei.add(item = new JMenuItem("REPAINT"));
	item.addActionListener(printListener);
	dateisub.add(item = new JMenuItem("Speichern"));
	item.addActionListener(printListener);
	dateisub.add(item = new JMenuItem("Speichern Unter"));
	item.addActionListener(printListener);
	datei.add(dateisub);
	datei.add(item = new JMenuItem("Beenden"));
	item.addActionListener(printListener);
	Jbar.add(datei);
	return Jbar;
 }
}

Gruß!
 

Wildcard

Top Contributor
Direkt im Frame zu zeichnen ist ungeschickt. Benutz lieber eine JComponent oder ein JPanel und überschreib dort statt paint die paintComponent.
 

thE_29

Top Contributor
Jop, das ist mir letztens auch so gegangen.. (manchmal gings, meistens nicht)

Am besten noch das contentPane mit einem JPanel ersetzen und das paintComponent überschreiben lassen.
 
G

Gast

Gast
Sorry ich versteh nicht genau was ihr meint mit dem was ich wem überschreiben soll.
Könntet ihr das vielleicht anhand von einem klitzekleinen Beispiel zeigen?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Hilfe bei automatischer Arrayvergrößerung Java Basics - Anfänger-Themen 3
A Zeichentool mit automatischer Java Code Erstellung Java Basics - Anfänger-Themen 1
O URL Aufrufe im Browser - automatischer Seitenwechsel Java Basics - Anfänger-Themen 4
G Erste Schritte Automatischer Autorenkommentar Java Basics - Anfänger-Themen 2
R Automatischer Compiler? Java Basics - Anfänger-Themen 4
W automatischer password hash Java Basics - Anfänger-Themen 11
S JDialog während automatischer Dateisuche einblenden Java Basics - Anfänger-Themen 6
N automatischer Zeilenumbruch Java Basics - Anfänger-Themen 3
E Automatischer Zeilen-Umbruch bei JTextArea Java Basics - Anfänger-Themen 4
G Automatischer Zeilenumbruch bei einer TextArea Java Basics - Anfänger-Themen 16
C Automatischer Umbruch bei JScrollPane? Java Basics - Anfänger-Themen 5
G automatischer Zeilenumbruch Java Basics - Anfänger-Themen 5
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
S Repaint() Java Basics - Anfänger-Themen 1
J Erste Schritte Mit repaint() ist Label nicht sichtbar Java Basics - Anfänger-Themen 15
S Repaint() in der Schleife funktioniert nicht immer Java Basics - Anfänger-Themen 5
H Graphics / repaint Java Basics - Anfänger-Themen 8
D Verhindern das repaint beim vergrößern aufgerufen wird Java Basics - Anfänger-Themen 9
M Liste mit repaint aktualisieren Java Basics - Anfänger-Themen 1
E Probleme mit repaint() Java Basics - Anfänger-Themen 15
K Erkennt repaint nicht Java Basics - Anfänger-Themen 1
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
1 repaint() Funktion erzeugt Flackern Java Basics - Anfänger-Themen 33
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
A externer repaint Aufruf Java Basics - Anfänger-Themen 9
G Problem mit repaint() Java Basics - Anfänger-Themen 2
J repaint() geht gar nicht; GUI aktualisieren Java Basics - Anfänger-Themen 10
J paint() vs repaint() Java Basics - Anfänger-Themen 3
C repaint wird nicht während Druck auf Maustaste ausgeführt. Java Basics - Anfänger-Themen 4
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
P [JTable] Problem mit repaint() Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Im for loop funkzioniert repaint nicht :( Java Basics - Anfänger-Themen 4
M repaint() in run-Methode funktioniert nicht Java Basics - Anfänger-Themen 9
O Probleme mit der repaint-Funktion Java Basics - Anfänger-Themen 6
W repaint() ruft paint() nicht auf Java Basics - Anfänger-Themen 9
J repaint() funktioniert nicht wie gewünscht Java Basics - Anfänger-Themen 30
I Hangman CardLayout/repaint? Java Basics - Anfänger-Themen 2
H Variablen Probleme mit repaint() Java Basics - Anfänger-Themen 2
Y im applet malen ohne repaint paint ? Java Basics - Anfänger-Themen 6
J repaint(); launisch ? Java Basics - Anfänger-Themen 3
E Altes Bild bei repaint() löschen? Java Basics - Anfänger-Themen 10
Z Wie repaint() bei Uhr realisieren? Java Basics - Anfänger-Themen 12
N JScrollPane repaint(); geht nicht Java Basics - Anfänger-Themen 4
I repaint bei jpanel Java Basics - Anfänger-Themen 10
T repaint wir nicht mehr geöffnet! Java Basics - Anfänger-Themen 38
T Canvas aktualisierung mit repaint Java Basics - Anfänger-Themen 5
C GUI aktualisieren: repaint, validate, Fenstergröße ändern bringt nichts Java Basics - Anfänger-Themen 13
Antoras Swing repaint und Nullpointer Java Basics - Anfänger-Themen 6
O repaint() wird nicht ausgeführt Java Basics - Anfänger-Themen 3
S problem mit repaint() in Thread Java Basics - Anfänger-Themen 6
Antoras swing und repaint-Ersatz Java Basics - Anfänger-Themen 8
M Problem mit repaint Java Basics - Anfänger-Themen 2
R Probleme beim Repaint Java Basics - Anfänger-Themen 3
T repaint einer komponente Java Basics - Anfänger-Themen 2
E repaint() aufrufen Java Basics - Anfänger-Themen 12
F paintComponent mit repaint() aufrufen Java Basics - Anfänger-Themen 27
kulturfenster Probleme mit repaint() Java Basics - Anfänger-Themen 2
S SelectionListener + repaint().Verständnisproblem ;) Java Basics - Anfänger-Themen 7
K Repaint() in Methode Java Basics - Anfänger-Themen 13
G Frage zu repaint() Java Basics - Anfänger-Themen 5
D JPanel repaint() wird nicht gemacht! Java Basics - Anfänger-Themen 7
B Problem mit repaint() Java Basics - Anfänger-Themen 8
V Reihenfolge von Befehlen - hier repaint() zu spät Java Basics - Anfänger-Themen 13
G repaint in paint aufrufen? Java Basics - Anfänger-Themen 9
F repaint() - Methode verzögern lassen? Java Basics - Anfänger-Themen 3
I Erst repaint() dann zeichnen? Java Basics - Anfänger-Themen 6
D von paint() und repaint() im Applet Java Basics - Anfänger-Themen 4
J probleme mit repaint Java Basics - Anfänger-Themen 2
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
G Maven Swing: Wie verwende ich WindowListener ? Java Basics - Anfänger-Themen 2
C Threads und Swing Java Basics - Anfänger-Themen 9
A Swing: Raumshiff Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
O ImageIcon, Swing Java Basics - Anfänger-Themen 1
O Swing JPanel Java Basics - Anfänger-Themen 4
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
M SpielMenü mit Swing Java Basics - Anfänger-Themen 3
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
M Java swing im Browser starten Java Basics - Anfänger-Themen 0
M JavaFX in Swing-Applikationen einbetten Java Basics - Anfänger-Themen 5
Z Threads SWING mit EventQueue.invokeLater Java Basics - Anfänger-Themen 1
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
N Erste Schritte Karte in SWING Application Java Basics - Anfänger-Themen 4
D Mehrfacherfassung in Swing GUI Java Basics - Anfänger-Themen 12
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
J Input/Output Charset Swing- Eingaben? Java Basics - Anfänger-Themen 8
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben