Anzeige von JPanel

Status
Nicht offen für weitere Antworten.

Fry

Aktives Mitglied
Hallo Forum!

Ich habe ein Problem in der Darstellung. Ich möchte ein JPanel auf ein Frame zeichnen. Ja ich weiß das ist auch ganz trivial und es ist nicht so, dass ich das nicht einmal hinbekommen hätte und durchaus schon länger im Netz gesucht habe. Um es mal verständlich zu machen, ganz einfach Beispiel.
Ich habe eine Klasse die von JPanel abgeleitet ist, darin überschreibe ich die paintComponent Methode eben so, wie ich mein Panel haben möchte, in etwa so:
Code:
class myPanel extends JPanel() {

[...]

public void paintCOmponent(Graphics 2g){

// hier male ich dann das, was ich haben mlchte

}

[...]

}

Jetzt habe ich mir dazu ein kleines Testprogramm geschrieben um das Panel zu testen:

Code:
public class TestMain extends JFrame{

	public static void main(String[] args) {
		
		TestMain tm = new TestMain();
		tm.setLayout(new GridLayout(2,2));
		
		
		for(int i = 0; i < 4; i++)
		{
			tm.add(new myPanel ());
		}
		
		tm.setSize(300,300);
		tm.setVisible(true);

	}

}

Und schau da, es wird gezeichnet und ist auf dem Frame sichtbar :D (ok, wo solls auch sonst sein)

So nun habe ich eine etwas größe Anwendung die nach dem MVC Konzept arbeitet. Jetzt findet eine Änderung im Modell statt und nachdem die public void update(...) Methode der View aufgerufen wurde soll nun praktisch das, was oben im Testprogramm gemacht wurde auch auf der View angezeigt werden.

Die View ist natürlich auch von JFrame abgeleitet und enthät noch ein Attribut mainPanel vom Typ JPanel, auf das ich nun etwas zeichnen möchte - genau das gleiche JPanel von oben, was im Beispiel funktioniert.

Das Ganze sieht dann grob so aus:

Code:
    private void initPlayPanel() {

	[...]

	mainPanel.removeAll();


	mainPanel.setLayout(new GridLayout(yValue, xValue));


	for (int i = 1; i < yValue + 1; i++) {
	    // inner loop
	    for (int j = 1; j < xValue + 1; j++) {
		mainPanel.add(new myPanel());
	    }
	}


	mainPanel.repaint();

	[...]
    }
(die initPlayPanel() wird innerhalb der public void update(...) aufgerufen.)

So, aber ihr könnt euch schon denken, es wird eben nichts gezeichnet :( Ich bin jetzt mal hergegangen und habe mit Eclipse debuggt und schau mir das Attribut mainPanel an und schau da, es sind die entsprechenden myPanels alle darin zu finden. Folglich habe ich mir gedacht, liegt das Problem irgendwo am neuzeichnen, aber ich weiß nicht wo. Ich habe jetzt schon (ganz verzweifelt) überall mal ein repaint() und validate() für das Frame und auch für das mainPanel eingegeben aber ich stocher da jetzt irgendwie blind rum. Ich kann mir das gerade nicht wirklich erklären und mal fragen ob einer von euch eine Idee hat!

Thx
Fry
 

Campino

Top Contributor
Probier mal statt in der oaint-Component in der paint zu malen. Ansonsten wird in deinem oberen beispielcode garnicht die Klasse myPanel verwendet, sondern eine Klasse Field, ist das richtig?
 

Fry

Aktives Mitglied
Hallo campino,

sry das war natürlich ein Fehler meinerseits, Field heißt meine eigentliche Klasse ich hatte sie nur hier im Code durch myPanel ersetzt. Das ist ist meiner Anwednung natürlich konsitent.

ANMERKUNG: ich hab es jetzt nochmal geändert!

Ist das so richtig mit paint überschreiben? - geht auch nicht :(

Code:
  public void paint(Graphics g) {

	super.paint(g);
	Graphics2D g2 = (Graphics2D) g;
	g2.drawLine(10,10,75,57);
    }

Versteh ich net :roll:

Thx
Fry
 

Fry

Aktives Mitglied
So,

mir hat das nun keine Ruhe gelassen und ich habe noch probiert. Ich habe die View auf
Code:
setResizable(false);
gesetzt. Nehme ich das weg und maximiere das Frame einmal, dann wird gezeichnet.
Nun habe ich meine View noch um ein
Code:
this.validate();
ergänzt und gucke da er zeichnet :lol:

Trotzdem danke, Thema gelöst
Fry
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
D Anzeige eines Bildes: JPanel oder JLabel ? AWT, Swing, JavaFX & SWT 3
hannibalstgt Fehler bei JCOMBOBOX GUI Anzeige AWT, Swing, JavaFX & SWT 2
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
S AffineTranformation Bilder verschwinden von Anzeige bei Pan, Zoom AWT, Swing, JavaFX & SWT 6
kodela Swing Anzeige des Warten-Cursors AWT, Swing, JavaFX & SWT 8
kodela Verspätete Anzeige in Textfeldern AWT, Swing, JavaFX & SWT 8
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
L Java FX Keine Anzeige Im Tableview AWT, Swing, JavaFX & SWT 4
F JScrollPane anzeige AWT, Swing, JavaFX & SWT 7
F Design-Anzeige im Windowbuilder AWT, Swing, JavaFX & SWT 3
thet1983 JavaFX TableView Objekt Daten anzeige AWT, Swing, JavaFX & SWT 2
D JavaFX Control zur Anzeige von eBooks AWT, Swing, JavaFX & SWT 5
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
G JScrollPane bricht am Ende der Anzeige nicht um AWT, Swing, JavaFX & SWT 2
V JWindow: Falsche Anzeige auf Ubuntu AWT, Swing, JavaFX & SWT 2
N JDialog als Progress-Anzeige AWT, Swing, JavaFX & SWT 6
M AWT Gui anzeige Probes - Elemente erscheinen nicht regelmäßig AWT, Swing, JavaFX & SWT 2
A JFreeChart BarChart invertierte anzeige oder werte bereich von-bis AWT, Swing, JavaFX & SWT 4
Ollek JList - neuer Eintrag in ArrayList dadurch keine Anzeige der Objekte AWT, Swing, JavaFX & SWT 18
P Swing Problem mit der Anzeige AWT, Swing, JavaFX & SWT 12
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
M Anzeige updatet sich erst am Ende des Programms AWT, Swing, JavaFX & SWT 3
J JList, Anzeige aktualisieren AWT, Swing, JavaFX & SWT 7
J Kleines Anzeige Problem(nur blanker Frame) AWT, Swing, JavaFX & SWT 22
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
N Swing JTextPane zur Anzeige von HTML AWT, Swing, JavaFX & SWT 2
A Swing Anzeige Text in JScrollpane AWT, Swing, JavaFX & SWT 8
M TabbpedPane Anzeige aktualisieren AWT, Swing, JavaFX & SWT 6
S Anzeige von Beschleunigungswerten AWT, Swing, JavaFX & SWT 2
S Anzeige eines JWindows AWT, Swing, JavaFX & SWT 3
N jcomboBox anderer Wert als Anzeige AWT, Swing, JavaFX & SWT 6
B Swing Java crashed nach Anzeige JOptionePane AWT, Swing, JavaFX & SWT 20
S Probleme mit Anzeige von JComboBox AWT, Swing, JavaFX & SWT 2
J Anzeige AWT, Swing, JavaFX & SWT 5
F Verzögerung bei der ersten Anzeige AWT, Swing, JavaFX & SWT 6
timbeau Gitter in Sudoko-Anzeige AWT, Swing, JavaFX & SWT 9
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
D Swing Anzeige während eines Ladevorganges AWT, Swing, JavaFX & SWT 6
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
C SWT SWT Browser anzeige bug AWT, Swing, JavaFX & SWT 3
A Einschreiten vor anzeige eines Frames AWT, Swing, JavaFX & SWT 26
P JTree - Explorer mit nur eingeschränkter Anzeige AWT, Swing, JavaFX & SWT 17
J Verzögerung bei Änderungen der Anzeige abwarten AWT, Swing, JavaFX & SWT 5
T SWT Keine Anzeige der Widgets nach Comboauswahl AWT, Swing, JavaFX & SWT 2
M.F.G. Fehler bei der Anzeige Grafischer Elemente AWT, Swing, JavaFX & SWT 13
B SWT Textdatei Lesen und Anzeige in View - Zeichensatzproblem AWT, Swing, JavaFX & SWT 4
hdi JTree: interne Daten OK, Anzeige schwarze Magie AWT, Swing, JavaFX & SWT 2
R Anzeige der Aktivität AWT, Swing, JavaFX & SWT 3
S Splash Screen / "Loading" Anzeige im Programm AWT, Swing, JavaFX & SWT 27
S JTree - Anzeige des Knotennamen ändern AWT, Swing, JavaFX & SWT 2
B JList Anzeige aktualisieren (Models) AWT, Swing, JavaFX & SWT 2
G Keine Anzeige des Balkens AWT, Swing, JavaFX & SWT 3
C JTable aktualisiert die Anzeige nicht AWT, Swing, JavaFX & SWT 2
G Anzeige schwierigkeiten AWT, Swing, JavaFX & SWT 3
G Problem mit Anzeige von HTML AWT, Swing, JavaFX & SWT 5
P JRE 6 -> ToolTip & mnemonic Anzeige AWT, Swing, JavaFX & SWT 4
G JComboBox - Anzeige mit Wert verknüpfen AWT, Swing, JavaFX & SWT 3
G Anzeige Problem AWT, Swing, JavaFX & SWT 4
T dynamische anzeige? AWT, Swing, JavaFX & SWT 4
W JList Anzeige erneuern AWT, Swing, JavaFX & SWT 4
P JMenuBar und JToolBar Anzeige Probleme AWT, Swing, JavaFX & SWT 5
T JComboBox anzeige AWT, Swing, JavaFX & SWT 6
M JTree und Anzeige des entsprechenden Panels AWT, Swing, JavaFX & SWT 5
K Probleme mit der Anzeige eines einzigen Nodes in einem JTree AWT, Swing, JavaFX & SWT 9
S SWT-Widgets für Anzeige-Elemente AWT, Swing, JavaFX & SWT 3
G Keine Anzeige von Grafik bei externem paintComponent-Aufruf AWT, Swing, JavaFX & SWT 2
M GUI mit Swing erst nach Maximieren richtige Anzeige AWT, Swing, JavaFX & SWT 2
S Anzeige der Benutzeroberfläche verzögern AWT, Swing, JavaFX & SWT 10
G Anzeige von JTextField erneuern AWT, Swing, JavaFX & SWT 12
P DefaultTreeCellEditor -> Anzeige Probleme AWT, Swing, JavaFX & SWT 3
swek Flackernde Anzeige AWT, Swing, JavaFX & SWT 4
C Schweres Problem mit JDialog und Threads! Anzeige blockiert! AWT, Swing, JavaFX & SWT 5
A JTree-Anzeige filtern AWT, Swing, JavaFX & SWT 7
R Anfängerfrage:anzeige von Gui elementen AWT, Swing, JavaFX & SWT 2
W Anzeige von anderen Bildformaten: BMP, TIFF, PCX AWT, Swing, JavaFX & SWT 5
S Anzeige einer Progressbar. AWT, Swing, JavaFX & SWT 3
G Komponente zur Anzeige einer Textdatei. AWT, Swing, JavaFX & SWT 10
G JList: Anzeige von null-Werten verhindern AWT, Swing, JavaFX & SWT 3
I Problem mit korrekter Anzeige AWT, Swing, JavaFX & SWT 2
G Gibts ne Klasse zur Anzeige von Ziffern? AWT, Swing, JavaFX & SWT 4
S Anzeige-Wirrwar in JScrollbar AWT, Swing, JavaFX & SWT 3
B Anzeige eines SpinnerNumberModel AWT, Swing, JavaFX & SWT 3
P Zwei JPanel übereianderlegen AWT, Swing, JavaFX & SWT 14
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
G JPanel mit JButtons und Bilder AWT, Swing, JavaFX & SWT 5
N AWT JPanel zu Jframe hinzufügen AWT, Swing, JavaFX & SWT 2
M clear JPanel before repainting AWT, Swing, JavaFX & SWT 1
B ImageIcon auf JPanel austauschen AWT, Swing, JavaFX & SWT 3
T Swing Reload JPanel + darin liegende ProgressBar AWT, Swing, JavaFX & SWT 9
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
E JScrollPane mit JPanel verbinden AWT, Swing, JavaFX & SWT 1
F JPanel Celleditor AWT, Swing, JavaFX & SWT 8
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
B Mit ContentPane werden Komponenten angezeigt, mit SplitPane, JPanel nicht? AWT, Swing, JavaFX & SWT 6
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben