Opstilling af data i JTabel eller andet

Tags:    java gui swing awt

Halløj Udviklere.

Jeg står og skal lave noget Data opstilling i mit program.

Lad mig først forklare lidt, der er tale om mit eksamens projekt, som går ud på at lave et tekst based rollespil, i den forbindelse skal vores spiller have et inventory. Her skal alle hans items altså blive listet, med mulighed for at "Equip" de ting han har it sit inventory.

Som det er nu har jeg lavet en JTabel, som viser navn på item, stats etc. men jeg skal have knyttet en equip knap på hvert våben, problemet er at det åbenbart ikke er lige så nemt som man skulle tro, swing er fandeme noget lort.

Men jeg er herefter kommet i tvivl om at det overhoved er den rigtige fremgangs metode, hvordan ville i stille det op, så jeg kan forbinde med en equip knap. Ville i overhoved bruge en JTable?
Kom gerne med flere muligheder

Tak.

[EDIT.]

Lige et billede, så i kan se hvordan det ser ud nu, det er dog uden equip knappen, som jeg ikke kunne få til at spille. :/
http://billedeupload.dk/upload/files/2011-12/34264231.png



Indlæg senest redigeret d. 08.12.2011 11:45 af Bruger #14816
9 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Kan du ikke bare lave en 'equip' knap der equipper det item som er valgt, altså hvis række nummer 2 er valgt, så equiper den det item?

Et eksempel kunne være
Fold kodeboks ind/udJava kode 

Dette er bare et eksempel, men går ud fra at du har lavet dit JTable med en tableModel klasse?



Indlæg senest redigeret d. 08.12.2011 18:46 af Bruger #4487
Tusind tak for hjælpen Martin, det var lige sådan en løsning jeg kiggede efter. :)



Er glad for at det hjalp



Nu hvor jeg har dig Martin, ved du som om det er muligt at refreshe et panel. Så ville jeg nemmelig skulle slippe for at bytte rundt på felterne, det bliver noget værre rod.

på forhånd tak. :)



Hvis, det er et JPanel du taler om, så er det muligt at "refreshe" panelet, ved at kalde metoden.

Fold kodeboks ind/udJava kode 


Du skal blot tegne, og derefter kalde repaint metoden, så skulle dit panel meget gerne opdateres :)

Men, du skrev at du er igang med at lave et tekst baseret rollespil. Når det er tekst baseret laver man det så ikke mest igennem cmd'en?.. Hvordan kan det så være, at du sidder og roder med swing :) ?





Indlæg senest redigeret d. 08.12.2011 19:32 af Bruger #15301
Mit JPanel ligger inde i mit JTabbedPane, og jeg vil så gerne have den til at køre koden igen, efter man har trykket equip.

Det eneste jeg har kunne få til at fungere er
Fold kodeboks ind/udJava kode 


Altså fjerne den og sætte den ind igen, problemet er bare at du bliver smidt tilbage til forside panel, og at tabsne bliver bollet i rækkerfølgen.

Mht. dit sidste spørgsmål, skulle et tekst based spil som Gladiatur & Travian også forgå i en terminal? ;)




Mhh... Jeg har ikke lige et specifikt svar på dette, andet end det som kevin har givet. desværre :(



Hvis det er fordi, du så at sige har mistet kontrollen over dit JPanel, så bed i stedet for det panel, der har fået kontrollen over dit panel om at repainte. Dog, er det ikke det jeg selv gør, da jeg finder det for uoverskueligt, hvis man har flere paneler og skal skifte imellem dem.
Jeg ville råde dig til at kalde .repaint på din JFrame, når denne metode bliver kaldt, så starter du et rekursivt forløb, hvor at repaint() metoden bliver kaldt på alle komponenter, og containere, der er tilføjet til din JFrame.

håber det virker :)



Jeg løste problemet ved at fjerne alle mine paneler, og så indsætte dem igen. :)

Fold kodeboks ind/udJava kode 




Men tak for tiden.



Indlæg senest redigeret d. 08.12.2011 21:01 af Bruger #14816
t