JPanel erneuern

Maxwill

Mitglied
Hallo Leute,

hoffentlich könnt Ihr mir helfen. Ich Sitz da jetzt schon Stunden dran und komm nicht weiter 🙁

also ich hab ein JPanel welches einen Kalender Beinhaltet, mit Buttons zum auswählen des Tages etc. und eine static Variable welche des ausgewählte datum beinhaltet.

nun hab ich ein anderes JPanel was Termine des Datums enthält und neu gezeichnet werden soll mit dem Terminen des neuem Datum wenn sich das Datum in dem Kalender ändert.

Mein Ansatz:

Ich habe einen Mouslistner auf den Buttons im Kalender und wenn ich den Drücke wollte ich eine static Methode aufrufen dort wo ich das Termin Panel erstelle, und dort praktisch das altet Termin Panel mit dem neuen "Überschreiben" und neu zeichen lassen.

das problem ist das ich es nicht hnbekomme das es sich neu zeichnet 🙁 , es bleibt immer das alte Termin Panel gezeichnet.


hier der code:
Java:
public class TerminKalender extends JPanel{

	KalenderKomplett kalender;
	static TerminAnzeige terminAnzeige;
	Uhr uhr = new Uhr();
	public TerminKalender() {
		setLayout(null);
		
		kalender = new KalenderKomplett();
		terminAnzeige = new TerminAnzeige(24);
		
		UhrAnzeigeAnalog analogUhr = uhr.drawAnalogUhr(new Dimension(215,215));
		analogUhr.setBounds(0,0,215,215);
		add(analogUhr);
		
		kalender.setBounds(215, 0, 280, 215);
		add(kalender);
		
		terminAnzeige.setBounds(0, 215, 980, 200);
		
		add(terminAnzeige);
		
	}	
	
	public static void updateAnzeigePanel() {
	
		[B]// hier soll das terminAnzeig Panel praktisch neu erzeugt, dem this Panel hinzugefügt oder überschrieben und neu gezeichnet werden.[/B]

		
	}
}

ich hoffe jemand hat nen ansatz für mich

dank euch

Gruß Maxwill
 
Du solltest dich erstmal mit den Grundlagen von Java und Swing auseinandersetzen. Du hast da anscheinend nämlich ein paar Sachen falsch verstanden. Obwohl dein Code nicht sehr viel aussagt, machst du doch schonmal 3 gravierende Fehler:
  • Null Layout - siehe den Link in meiner Signatur (und meinen tollen neuen Avatar)
  • Die Verwendung von Static Variablen/Methoden - du verstehst offensichtlich nicht was static wirklich bedeutet
  • Du erstellst eine "update" Funktion, dies kann in swing entweder über repaint erreicht werden, ansonsten musst du sowieso das Panel neu erzeugen. In jedem Fall ist static fehl am platz.
 
Hallo bertor,

schonmal danke für deine Antwort.

Layout ist noch sehr schlecht das weiß ich , komm ich im mom noch nicht gut mit klar.
Und da hilft mir das Null Layout da ich es absolut positionieren kann.

Ich denke schon das ich wenigsten ansatzweise static verstanden haben, und um es besser zuverstehen programmiere ich ja 😉
Wenn du mir das was, ich bei der sache nicht verstanden habe, kurz schildern könntest wäre ich dir verbrunden.

Deshalb meine frage , wie kann ich ohne eine static methode von einem object aus auf ein anderes object zugreifen bzw. es verändern.

Ich hab es mit repaint schon probiert aber er mahlt mir nicht das neue Panel 🙁 sonder es bleibt das alte als würde er garnicht Zeichnen .

Gruß

Maxwill
 
Hi LectronX ,

danke für den Link , und genu so hab ich das uach verstanden mit dem static , und so hab ich es auch meines Wissens implementiert.

das Problem ist das ich nun vom Nebenobjekt (Kalender) auf des eig. auch Nebenobjekt (Anzeige Termin) einen methodenaufruf machen will welches das komplette Nebenobjekt neu erzeugen und an die stelle des bisherigen Nebenobjektes (Anzeige Termin) setzten und es dann neu Zeichen.

nun kann ich aber dem TerminKalender Panel kein neues Objekt hinzu adden , da ich ja eine static methode habe.

Gruß Maxwill
 

Zurück
Oben