Avatar billede janni_jensen Nybegynder
02. maj 2003 - 18:57 Der er 7 kommentarer og
1 løsning

JTextArea, JTextPane

Hej Jeg har 2 sprøgsmål vedr.  min GUI.
1:
Jeg har lavet en metode på min GUI, som  i et JTextArea vise nogle information. Disse kommer fra en ArrayList og er i form af objektet Toj.

public void tojFremvisning(Toj t) {
area.append(t.getPris() + "\t" + t.getStorrelse()+ "\t" + t.getMaerke() + "\t" + t.getAntal() + " stk.\t");

Men hvordan får jeg dem aflæst igen, hvis der for eksempel er blevet rettet i dem og de skal sendes videre så det kan gemmes i databasen.

2: Hvordan får man en JFrame til at glemme alt hvad der har stået i TextArea? Hvis jeg gemmer og laver et nyt opslag på Toj kan jeg kun se det nye, men den gemmer begge opslag i database og jeg får derved en fejl, da den duplikere en primær nøgle. Men hvis programmet lukkes ned efter hver opslag virker det fint. Hvordan kan det være at JFrame gemmer information når jeg både har en metode som siger area.setText(""); samt siger gui.setVisible(false);?

Håber der er hjælp derude.

mvh
JJ
Avatar billede arne_v Ekspert
02. maj 2003 - 19:07 #1
Lidt løse ideer:

1)  Ved database gem skal du nok teste på om PK allerede eksisterer,
    hvis ja så laver du en UPDATE, hvsi nej laver du en INSERT.

2)  Jeg kan ikke helt gennemskue "ud igen" problematikken, men
    du ikke hive en String ud og parse den med StringTokenizer
    på tab ?

3)  hvis du bruger setText("") og laver en repaint burde teksten forsvinde.
Avatar billede janni_jensen Nybegynder
02. maj 2003 - 20:08 #2
Hej
1: Den skal ikke lave en update, for den skal slet ikke inserte de ekstra ting.
2: Jeg skal bruge attibuterne hver for sig for at kunne gemme den i database. Kan man sætte JTExtField ind i textarea eller textpane?
3: Teksten forsvinder for det synlige øje, men det må åbenbart stadigt være der for det er det der bliver medsendt ned til databasen og derfor skaber porblemer fordi den viser på de samme informationer.
Avatar billede arne_v Ekspert
02. maj 2003 - 20:34 #3
Hm. Jeg tror jeg er lost.

Kan du poste lidt relevant kode ?
Avatar billede kschiller Nybegynder
02. maj 2003 - 22:14 #4
M.h.t. databasen kan jeg ikke lige gennemskue hvad du er ude efter, men med dine attributter (pris, str. m.v.) kan du gøre som Arne foreslår, eller måske
overveje at bruge en JTable i stedet for et JTextArea, da JTable holder styr
på dine attributter i kolonner, ligesom i databasen. Det kan måske gøre det lidt nemmere at styre både at hente, indsætte samt opdatere i din GUI.
Avatar billede janni_jensen Nybegynder
03. maj 2003 - 00:54 #5
jeg har fået det fikset. Der var fordi arraylisten ikke blev tømt. Men et nyt er opstået, hvis i kan svare på det er points jeres.
Dete kører over RMI, og når jeg kører uden at få forbindelse til server, kan jeg godt gemme i min database med følgende sætning:
String VareLeverancequary = "INSERT INTO ravareleverancelinie VALUES(" + nylinie.hentLinienr() + "," + leverancenr + "," +nylinie.hentVarenr() + "," + nylinie.hentAntal() + ")";, og det hele bliver gemt fint, der er en til flere objekter der gemmes.
Men hvis jeg kører det så jeg har forbindelse via RMI men det er samme metode til at gemme i databasen, så sætter den alle tidliger række i databasen til at varenummeret er NULL, og det er kun det ny gemning der har et varenr i databasen? Er det mere database kategori jeg skal over i eller er det noget med java?
Avatar billede arne_v Ekspert
03. maj 2003 - 17:53 #6
En INSERT statement bør *aldrig* kunne ændre eksisterende
rækker i databasen.

Og jeg forstå ikke helt hvad RMI har med dine JDBC kald at gøre.

Så jeg er stadig totalt forvirret.

Men jeg er dog overbevist om at Java er den rigtige kategori.
Avatar billede janni_jensen Nybegynder
03. maj 2003 - 21:04 #7
Hej
Nej jeg har fundet ud af det, man skal bare have det hele lidt på afstand. Det var en cascade ved en fremmednøglen der gav udslaget. Det der skete var at der blev hentet fra en database på en server, slettede alt der var i databasen og lagde det nye fra serveren ned. Derefter blev der lavet udregninger på de informationer som blev gemt igen. Så der er det der skete med det.

Det med at aflæse textarea fandt jeg aldrig ud af. Jeg håbede på at man kunne aflæse dem ligesom man aflæser et jtextfield, men de er jo lidt svært når de alle ligger i et felt kan man sige. Det er 6 forskellige attributter, og der kan være flere objekter. Pyt med det.
Avatar billede arne_v Ekspert
03. maj 2003 - 21:32 #8
Du kan vel hente hele teksten med getText og så parse de enkelte
dele ud med f.eks. StringTokenizer - eller ?
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