18. januar 2004 - 16:09Der er
16 kommentarer og 2 løsninger
Lave en variabel, med navn som indholdet af en anden variabel?
Hejsa
Lidt kryptisk overskrift, men:
Jeg er ved at lave en mixer i java, den skal have en masse JSlides, og indholdet af hver JSlides, skal kunne skrive i en JTextField. Det er ikke så svært, men jeg vil gerne have 16 JSlides, og så bliver det altså ret meget kode, hvis jeg skal skrive kode for hvert sæt af JSlides og JTextField.
Jeg tænkte derfor, om man kan lave en JSlides, med navn udfra hvad der står i en variabel?
Hvis f.eks. variablen tal = 1, hvordan laver jeg så en JSlide der hedder fader1, hvis tal = 2, skal den så hede fader2.
Kan man evt. lave hver serie af JSlider og JTextField som forskellige objecter, eller bliver det noget rod med de grafiske?
Beklager. Java er et kompileret sprog. alle variable SKAL have fået deres navne før programmet overhovedet begynder at eksekvere. Det er kun i scriptsprog (php, javascript) du sådan kan bruge sproget selv til at definere navne imens programmet kører.
Det nærmeste du nok kan komme det er med en hashtable hvor du bruger en streng som indeks til at genfinde de data der blev gemt med den nøgle.
import java.util.Hashtable;
Hashtable ditLager = new Hashtable();
nu kan du gemme data med ditLager.put( "navn", (Object)dinedata ); //NB: dine data skal indpakkes i en eller anden klasse
og hente dem igen med DinDataKlasse dineData = ditLager.get( "navn" );
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.