18. februar 2004 - 17:32Der er
19 kommentarer og 1 løsning
Opdatering af en AWT liste
Hej
Jeg har problemer med at få opdateret en AWT liste Har et vindue med en liste med nogle persondata og nogle knapper - en af disse knapper åbner et nyt vindue hvor man kan redigere disse persondata. Når man har gjort dette trykke man ok og kommer tilbage til vinduet med persondata - som nu helst skulle være opdateret med de nye data, men det er de ikke.
Her er lidt kode fra vinduet hvor man redigerer pd.hv.gh.redigerSpiller(tmpS, t); pd.hv.gh.save(); System.out.println("1"); pd.repaint(); //den her burde vel lave dette vindue igen??? pd.setVisible(true); setVisible(false);
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
pd er persondata vinduet der helst skulle opdateres efter redigerSpiller er kaldt - redigerSpiller er en metode der udskifet et element fra en arrayliste med et nyt - i dette tilfælde putter jeg bare det samme element der ned i igen blot med ændringer
Jeg synes ikke det ser ud som om der er mange der ønsker at give nogle svar på dette spørgsmål - det er vel ikke for svært til pointene - hvis ja giver jeg gerne flere point - hvis man kan? Hvis man synes der mangler mere forklaring, så skriv bare så skal jeg gøre hvad jeg kan for at besvare
Det "mærkelige" er at hvis jeg efter at have lavet ændringer lukker persondata vinduet og efterfølgende åbner det igen - ja så er ændringerne foretaget - dvs. ændringerne i Arrayet sker, men gui'en bliver ikke opdateret
Mine værdier i listen bliver tilføjet i public void jbInit() i persondata vinduet - det vil sige at de bliver læst ind når vinduet åbnes - jeg kunne selvfølglig gøre det at jeg public void redigerSpiller(Spiller sp, int index) { spillerArray.set(index, sp); //clear liste //setVærdi i felter } Så bliver de selvfølgelig læst ind igen - men det var der smartere hvis blot man kunne repainte listen så de nye data blev skrevet i
Det kan I da godt hvis I mener det hjælper - Spiller tmpS er et Objekt af typen Spiller og så ved jeg ikke helt hvad du mener med felterne. Men i persondata vinduet er der en AWT liste som indeholder spillere af typen Spiller - i listen står deres atributter udskrevet det er sådan set alt. I persondata vinduet kan man oprette nye spillere, slette spillere og redigere spillere - det er klart at når man ændre i atributterne for en spiller ja så skal den også udskrive de nye atributter i listen. Her er det første af den kode du bad om - hvis det hjælper? public void jbInit() throws Exception { this.getContentPane().setLayout(null); list1.setBounds(new Rectangle(14, 25, 360, 298)); list1.setMultipleMode(false); Iterator it = hv.gh.getSpillerArray().iterator(); while (it.hasNext()){ Spiller tmpS = (Spiller) it.next(); list1.add(tmpS.toString());
Nej det behøver du ikke - jeg har løst det på en anden måde, men det er jo ved at være længe siden, så jeg husker faktisk ikke hvordan, men jeg ville jo ikke bare selv tage pointene - dem fortjener du
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.