tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von hansmueller
  • 1 Beitrag von Tsunamii
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
771
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Marc79 Marc79 ist offline Mitglied Silber
    Registriert seit
    Oct 2010
    Beiträge
    69
    Hi zusammen,

    wieder einmal habe ich eine Frage.

    Ich verwende zur Laufzeit eine JList und ein ListModel

    Code :
    1
    2
    3
    4
    
    DefaultListModel log = new DefaultListModel();
     
    logList.setModel(log);
    log.addElement("Manueller Import gestartet");

    irgendwann läuft mein Import und ich möchte bestimmte Ereignisse anzeigen lassen.
    Bsp.:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    [...]
    i=0;
    while (zeile != null)
    {
         i++;
         log.addElement("irgendeintext" + i );
    }
    [...]

    Wenn jetzt die Schleife durchgelaufen ist, dann werden alle Inhalten der JList auch angezeigt. Wie aber bekomme ich die Inhalte unverzüglich nach deren add angezeigt.

    Mit repaint() hat es leider nicht geklappt.
    Jemand eine Idee?

    Danke und Gruß
    Marc
     

  2. #2
    MiMi MiMi ist offline Mitglied Smaragd
    Registriert seit
    Sep 2007
    Beiträge
    1.177
    Da wuerd mir spontan nur einfallen das Aendern der Liste in einem anderen Thread laufen zu lassen. Ist nur die Frage ob du von 2 Threads darauf zugreifen darfst. Mhm...
     
    Waere super wenn ihr euren Code in dieser Form einfuegt:
    [JAVA]System.out.println("Test :)");[/JAVA]
    wird zu:
    Code java:
    1
    
    System.out.println("Test :)");
    Tabs sind uebrigens keine Feinde :)
    Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
    Danke :D

  3. #3
    Maik639 Maik639 ist offline Mitglied Gold
    Registriert seit
    Nov 2010
    Beiträge
    132
    habs nicht getestet, aber würd spontan sagen

    Code :
    1
    2
    3
    
    jList.setVisible(false);
    //objekt adden
    jList.setVisible(true);
     

  4. #4
    Tsunamii Tsunamii ist offline Mitglied Silber
    Registriert seit
    Jul 2009
    Beiträge
    75
    meiner erfahrung nach sollten die Elemente direkt nach dem add() sichtbar sein, wobei es bei so einer Schleife schnell dazu führen kann, dass Java erst einmal den restlichen Code ausführt, bevor es sich um die eigentliche Aktualisierung der Oberfäche kümmert.

    Was du probieren könntest, wäre ein revalidate() nach jedem add() einzufügen:
    http://download.oracle.com/javase/1....validate%28%29
     

  5. #5
    hansmueller hansmueller ist offline Mitglied Silber
    Registriert seit
    Sep 2008
    Beiträge
    78
    Hallo,

    du mußt den Befehl zum neuzeichnen der Liste (egal ob mit revalidate() oder updateUI() oder ähnliches) in einem SwingUtilities.invokeAndWait() ablaufen lassen.

    MfG
    hansmueller
    Marc79 bedankt sich. 

  6. #6
    Marc79 Marc79 ist offline Mitglied Silber
    Registriert seit
    Oct 2010
    Beiträge
    69
    Hallo zusammen,

    danke vorab für eure Ideen.
    Ich weiß nicht, ob es an mir liegt, aber JAVA ist zum Teil ganz schön umständlich

    Gibt es wirklich keine einfach Möglichkeit ein Steuerelement upzudaten? oder zu repainten? oder zu refreshen? Das gibt es ja in so ziemlich jeder Programmiersprache

    @hansmueller:
    SwingUtilities.invokeAndWait() klingt zwar erstmal interessant, doch da muss ich mich wohl einlesen, wie man das richtig benutzt.

    Gruß Marc
     

  7. #7
    Tsunamii Tsunamii ist offline Mitglied Silber
    Registriert seit
    Jul 2009
    Beiträge
    75
    Marc79 bedankt sich. 

  8. #8
    Marc79 Marc79 ist offline Mitglied Silber
    Registriert seit
    Oct 2010
    Beiträge
    69
    Vielen Dank Tsunamii,

    der zweite Link war perfekt erklärt.
    Und nun läuft meine App auch sauber!

    Vielen Dank!
    Dies ist eines der besten Foren ...sollte mal erwähnt sein******

    Gruß Marc
     

Ähnliche Themen

  1. JList mit JSpinner
    Von hansmueller im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 18.06.10, 18:19
  2. jlist
    Von pikus im Forum Java
    Antworten: 1
    Letzter Beitrag: 25.01.08, 10:49
  3. JList
    Von Kenbu im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 24.08.07, 08:21
  4. JList
    Von lizzi1 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 7
    Letzter Beitrag: 28.06.05, 17:59
  5. JList
    Von steff aka sId im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 09.04.04, 19:14

Stichworte