tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
254
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ipspy4711 ipspy4711 ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    17
    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.
     

  2. #2
    SE 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 :
    Code java:
    1
    2
    
    JFrame.validate();
    JFrame.update(JFrame.getGraphics());
     

  3. #3
    ipspy4711 ipspy4711 ist offline Mitglied
    Registriert seit
    Jul 2011
    Beiträge
    17
    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.
     

  4. #4
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Zitat Zitat von ipspy4711 Beitrag anzeigen
    Sorry, dass man Threads verschieben kann wusst ich net.
    Kannst du auch nicht. Das bleibt den Moderatoren vorbehalten.
     
    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

  1. bestehendes JFrame mit JLabel ergänzen
    Von ipspy4711 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 08.09.11, 14:42
  2. Bild von JFrame oder JLabel oder JPanel als *jpg abspeichern
    Von Tithilion im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 07.02.10, 09:42
  3. JLabel innerhalb eines JFrame verschieben
    Von thatIsAFeature im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 09.07.08, 14:00
  4. Aus einem JFrame anderes JFrame starten
    Von maddos im Forum Java
    Antworten: 3
    Letzter Beitrag: 09.08.07, 12:24
  5. Antworten: 2
    Letzter Beitrag: 07.09.05, 12:16

Stichworte