ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
254
254
EMPFEHLEN
-
Hallo zusammen,
ich benötige eine kleine Hilfe, komme einfach nicht weiter.
Ich habe ein JFrame erstellt, in dieses JFrame wird ein JPanel gesetzt, welches schon mit 3 JLabeln befüllt ist. Im Laufe der Anwendung, sollen in das JPanel aber immer wieder JLabel hinzugefügt werden. Leider bekomme ich es nicht hin, dass das JFrame das neue Label auch mitanzeigt.
Mein Code: (banalisiert, ich habe ihn aus der kompletten Anwendung extrahiert)
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
import java.awt.*; import javax.swing.*; public class fenster { private JFrame fenster; private JPanel anzeige; private String namen; public fenster() { fenster = new JFrame(); anzeige = new JPanel(); namen = null; } public void fensteranzeige(boolean sichtbar) { anzeige.removeAll(); String namen = "Hier \n Hallo \n gehts noch \n"; String[] namenSplit = namen.split("\n"); JPanel content = (JPanel) fenster.getContentPane(); JPanel anzeige = new JPanel(); anzeige.setLayout(new BoxLayout(anzeige, BoxLayout.Y_AXIS)); for (int i=0; i<namenSplit.length; i++) { JLabel label = new JLabel(namenSplit[i]); anzeige.add(label); } JScrollPane scroll = new JScrollPane(anzeige); content.add(scroll); fenster.setMinimumSize(new Dimension(200, 150)); anzeige.updateUI(); fenster.validate(); fenster.setVisible(sichtbar); } public void wortHinzufuegen() { namen+="Hier \n Hallo \n gehts noch \n aber hallo \n"; } }
Ich habe alle drei Methoden JPanel.updateUI(), JPanle.validate() und JFrame.validate() versucht, aber keine hilft mir weiter.
-
08.09.11 14:57 #2SE Tutorials.de Gastzugang
Das funktioniert so auch überhaupt nicht.
Der String WURDE bereits verarbeitet ... und die JLabel wurden schon erstellt , geadded und angezeigt.
Du müsstest also wenn überhaupt fensteranzeige(boolean) immer wieder neu aufrufen. Das ist schwachsinn. Baue wordAdd() lieber so um das dierekt ein JLabel erstellt , geadded und das JFrame geupdated wird.
Das geht übrigens so am besten :
-
Für meine Anwendung muss ich aber die Funktion fensteranzeige(boolean) immer wieder aufrufen. Das Fenster ist nicht immer sichtbar, sondern wird nur für bestimmte Funktionen sichtbar gemacht. Gibt es keine Möglichkeit, meine Funktion "machbar" zu machen?
Sorry, dass man Threads verschieben kann wusst ich net.
-
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
Ähnliche Themen
-
bestehendes JFrame mit JLabel ergänzen
Von ipspy4711 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 08.09.11, 14:42 -
Bild von JFrame oder JLabel oder JPanel als *jpg abspeichern
Von Tithilion im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 07.02.10, 09:42 -
JLabel innerhalb eines JFrame verschieben
Von thatIsAFeature im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 09.07.08, 14:00 -
Aus einem JFrame anderes JFrame starten
Von maddos im Forum JavaAntworten: 3Letzter Beitrag: 09.08.07, 12:24 -
JFrame sperren oder neuen JFrame modal darstellen
Von Scrapy im Forum JavaAntworten: 2Letzter Beitrag: 07.09.05, 12:16





Zitieren


Login





