Avatar billede madiedk Nybegynder
19. april 2010 - 12:00 Der er 6 kommentarer og
1 løsning

designforslag, events

Jeg har 2 java klasser, view og model
View kalder en metode fra model der skriver 5000 rækker til en database.  Jeg vil gerne have en progressbar der fyldes op i takt med at rækkerne skrives. Hvordan laves det bedst. Jeg har kigget på noget med addpropertychangelistener, men har ikke helt fanget hvordan det designes optimalt. Nogle forslag
Avatar billede arne_v Ekspert
19. april 2010 - 15:22 #1
Jeg antager Swing.

Brug en JProgressBar og noget kode a la:

for(int i = 0; i < lst.size(); i++) {
    // insert data[i] i database
    EventQueue.invokeLater(new Runnable() {
        public void run() {
          progress.setValue(i);
        }
    });
}
Avatar billede madiedk Nybegynder
19. april 2010 - 15:38 #2
mit problem var mere hvordan jeg laver selve designet bedst så så coupling mellem klasseren er så svag så mulig. Jeg har implementeret det ved at bruge java observer pattern, så view lytter på modellen, lyder det fornuftigt?
Avatar billede arne_v Ekspert
19. april 2010 - 16:05 #3
Det er en udmaerket loesning.

Saa kan du bruge samme database indsaettelse kode med:
- ingen status
- System.out.println status
- JProgressBar
efter konteksten.
Avatar billede madiedk Nybegynder
19. april 2010 - 18:35 #4
Forstå ikke hvad du mener med dit sidste svar!?, men godt at det er en udemærkede løsning
Avatar billede arne_v Ekspert
20. april 2010 - 02:04 #5
At du med din model kan vælge:

A) ikke kalde saver.registerNotification()
B) kalde saver.registerNotification(somethingthatprintstoconsole)
C) kalde saver.registerNotification(somethingthatupdatesprogressbar)
Avatar billede madiedk Nybegynder
11. maj 2010 - 23:28 #6
smid svar
Avatar billede arne_v Ekspert
11. maj 2010 - 23:46 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester