Avatar billede Simon Praktikant
08. juli 2005 - 10:40 Der er 14 kommentarer og
1 løsning

hente Float fra en JTable

Jeg har en JTable, som jeg henter data ud af således:

Object minObj = table.getValueAt(2, 3);

værdien jeg får ud er en float i tabellen, men getValueAt(..) returnerer en Object.

Jeg kan ikke få det til at virke med type-casting.

Hvordan får jeg denne Object konverteret til en Float?
Avatar billede Slettet bruger
08. juli 2005 - 11:46 #1
Jeg vil gætte på at den value du får ud er en String (i form af et generisk object), og i det tilfælde vil jeg anbefale at prøve at parse den til en Float.

String tableValue = (String)table.getValueAt(2, 3);
float value = Float.parseFloat(tableValue);

Men det er lidt sparsomt med oplysninger fra din side af, har du implementeret din egen customtable-model, eller har du "puttet" værdier en med en Vector, array?...

Prøv det jeg foreslog, til at starte med, og så må vi tage det derfra :-)
Avatar billede Simon Praktikant
08. juli 2005 - 14:55 #2
jeg putter værdier i sådan her:

      columnNames = new Object[2];
      columnNames[0] = "Name";
      columnNames[1] = "ID";


      data = new Object[10][2];
             
      data[0][2] = new Float(3.4);     
      data[0][3] = new Float(4.5);
      .
      .
      .
   
      table = new JTable(data, columnNames);
Avatar billede Slettet bruger
08. juli 2005 - 14:57 #3
Altså, vha. et array....

Så henter du blot værdien ved at sige:

Float floatObj = (Float)table.getValueAt(2, 3);
float value = floatObj.floatValue(); // variablen value indeholder nu float-værdien.

Sådan ?
Avatar billede Simon Praktikant
08. juli 2005 - 15:09 #4
ja det kunne jeg jo godt. Men hvad nu hvis brugeren indtaster en ny værdi i tabellen ( JTable) bliver mit array så opdateret? Jeg ønsker nemlig kun at gemme data ét sted, så jeg slipper for at håndtere synkronisering og opdatering af to steder.
Avatar billede mikkelbm Nybegynder
08. juli 2005 - 16:56 #5
Ja. Dit array bliver opdateret i det øjeblik du indtaster noget i din JTable.
Avatar billede Simon Praktikant
08. juli 2005 - 17:07 #6
også omvendt? altså når jeg indtaster nye værdier i mit array, bliver de så opdateret i min JTable?
Avatar billede mikkelbm Nybegynder
08. juli 2005 - 17:11 #7
Ja. Men det kan godt være nødvendigt at lave en:

table.updateUI();

for at opdatere det grafiske.
Avatar billede mikkelbm Nybegynder
08. juli 2005 - 17:12 #8
Din JTable er blot en grafisk visning af dit array. Derfor vil den altid vise de elementer der er i dit array.
Avatar billede mikkelbm Nybegynder
14. juli 2005 - 16:42 #9
Lukketid her?
Avatar billede Slettet bruger
14. juli 2005 - 16:47 #10
Det tvivler jeg på han kan gøre før du har lagt et svar?
Avatar billede mikkelbm Nybegynder
14. juli 2005 - 16:50 #11
Men det må jo være ham, der kan afgøre hvem af os, der skal svare...
Avatar billede Simon Praktikant
16. august 2006 - 09:51 #12
Undskyld at jeg først vender tilbage nu. Havde glemt alt om tråden. Smid svar begge to og i deler point
Avatar billede Simon Praktikant
20. august 2006 - 21:29 #13
Tak for den fine hjælp. Hvis I vil have point, så smid svar.
Avatar billede Simon Praktikant
24. august 2006 - 11:31 #14
Tak for svaret. Smid svar for at få point, ellers lukket jeg selv spørgsmålet.
Avatar billede mikkelbm Nybegynder
26. august 2006 - 22:57 #15
.
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