Avatar billede sqwer Nybegynder
27. juni 2002 - 00:58 Der er 12 kommentarer og
2 løsninger

Line break i JTextField

JTextFields er jo beregnet til kun at vise en linie, men hvis man kopierer tekst ind fra fx IE, får man ofte et line break med i slutningen. Når man så paster teksten ind i et JTextField ser det mildest talt ikke for kønt ud.
Hvordan undgås dette?
Avatar billede Slettet bruger
27. juni 2002 - 08:59 #1
sådan lige fra hoften:
Hvad med String.trim()?? Jeg ved ikke om den virker.
Evt. gå til slutningen af strengen og fjerne den sidste char. Det burde løse dit problem
Avatar billede Slettet bruger
27. juni 2002 - 09:00 #2
sådan lige fra hoften:
Hvad med String.trim()?? Jeg ved ikke om den virker.
Evt. gå til slutningen af strengen og fjerne den sidste char. Det burde løse dit problem
Avatar billede prom Nybegynder
27. juni 2002 - 10:36 #3
Hvad er det lige du mener der sker når du "paster" tekst ind i et JTextField?
Så vidt jeg kan se bliver linieskift blot til mellemrum, og det er vel meget pænt?....

prom
Avatar billede sqwer Nybegynder
27. juni 2002 - 13:20 #4
prom: Ctrl-v
Den prøver at vise to linier, sådan at den nederste halvdel af teksten ses øverst i feltet, og der vises en tom linie nederst.
Hvis man gør det flere gange kan man få ganske mange linier, som man kun kan bevæge sig gennem med højre-venstre piltasterne, ikke op og ned.
Avatar billede sqwer Nybegynder
27. juni 2002 - 13:26 #5
maximus:
hvornår vil du bruge trim()? Jeg har prøvet noget med en DocumentListener og insertUpdate(), men jeg kan ikke få det til at fungere.
Jeg tænkte at der måtte være nogen der havde haft samme problem.
Avatar billede Slettet bruger
27. juni 2002 - 13:53 #6
Trim kan ikke bruges sådan som du forklare det.
Avatar billede prom Nybegynder
27. juni 2002 - 14:58 #7
Hvilken version af java bruger du?

prom
Avatar billede sqwer Nybegynder
27. juni 2002 - 19:34 #8
1.3.1
maximus: nej, det var jeg også kommet frem til :), hvordan vil du gøre det?
Avatar billede Slettet bruger
27. juni 2002 - 19:55 #9
Jeg vil søge i stringen efter et liniebreak, jeg kan ikke lige huske "hvordan" den ser ud. Den vil jeg så erstatte med et "", på den måde slipper du for dit linieskift
Avatar billede sqwer Nybegynder
27. juni 2002 - 20:04 #10
jamen hvornår vil du søge?
det var det jeg prøvede at gøre med insertUpdate(), så den søgte når der blev indsat noget, men det blev noget rod.
Avatar billede Slettet bruger
27. juni 2002 - 21:35 #11
ok, her kommer lidt ca. kode:

String indhold = "Her er jeg og K skal erstattes med ingenting"
String modText = indhold.replace('K', '') // erstatter K med tom felt

Lig koden ind i en Listener, på den måde bliver det opdateret lige så snart der sker noget med det JTextField

du skal bare erstatte "K" med den værdi som return har, den kan jeg ikke huske i hovedet.
Avatar billede prom Nybegynder
27. juni 2002 - 22:16 #12
\n

prom
Avatar billede prom Nybegynder
27. juni 2002 - 22:20 #13
Jeg kan stadig ikke se dit problem. Hos mig blever alt vist ganske pænt på en linie...også hvis den tekst jeg paster ind, indeholder masser af linieskift... Jeg bruger dog 1.4. Det kan jo være at der sket forandringer i JTextField siden 1.3.1.

prom
Avatar billede prom Nybegynder
27. juni 2002 - 22:31 #14
Det ser ud til at Sun har kendt til problemet længe. Jeg kan dog ikke se hvornår bug'en er blevet rettet, check selv (kræver login): http://developer.java.sun.com/developer/bugParade/bugs/4145324.html

Skift til 1.4, så skal du se at alle problemerne er væk.

prom
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

IT-JOB