Avatar billede half_d Nybegynder
19. august 2001 - 15:48 Der er 8 kommentarer og
1 løsning

Skrive en char til en JTextArea med JTextArea.append?

Hejsa,
jeg skal ha\' mit prog. til at indsætte et \'carriage return\' efter hver linie hentet fra en fil.

Derfor siger jeg som følger :

    public void wt(String text) {
        int bb = 13;
        char enter = (char)bb;
        output.append(text + enter);
    }

Men som I nok ved, virker det ikke..
jeg er absolut ikke god til typecasting i Java, så er der ikke en flink fætter der kan fortælle mig hvordan jeg skal gøre for at få output.append() til at indeholde linien (text) og et return (som er char(13)).

// Halfdan
Avatar billede elv Nybegynder
19. august 2001 - 15:58 #1
Brug følgende func i stedet:
  public void wt(String text) {
      output.append(text + \"\\n\");
    }
Avatar billede half_d Nybegynder
19. august 2001 - 16:05 #2
Det kunne jeg godt, men jeg skal faktisk bruge (char)10 + (char)13. og det ville jo også være rart at vide hvordan man gør til en anden gang.

// Halfdan
Avatar billede elv Nybegynder
19. august 2001 - 17:35 #3
Der er faktisk ingen problemer med den måde du bruger...
output.append(text+(char)13); virker fint...
Det skal dog lige siges, at i en standard TextArea er det ascii 10 der er linieskift...

hvad er det da der går galt?
Avatar billede half_d Nybegynder
19. august 2001 - 17:42 #4
Meget stenet,
det virker nu.
Jeg mener den sagde noget med at det ikke var den rigtige type at skrive til et JTextArea..
det ved jeg ikke rigtig :)

Tak skal du ha\' du får en lille bunke point!

// Halfdan
Avatar billede elv Nybegynder
19. august 2001 - 17:58 #5
Selv tak...
Den siger at det ikke er den rigtige type, medmindre der står en string først.
Følgende virker derfor IKKE: output.append((char)13); mens følgende virker korrekt: output.append(\"\"+(char)13)
Avatar billede half_d Nybegynder
19. august 2001 - 18:01 #6
Ja, det fandt jeg også ud af.
Jeg er ved at få styr på de ting.. selvom jeg synes det er mærkeligt at funktionen ikke hedder chr og ord som i stort set alle andre sprog. Anyway, det virker!

// Halfdan
Avatar billede logical Nybegynder
19. august 2001 - 18:02 #7
10 + 13 er i øvrigt \\r + \\n
Avatar billede half_d Nybegynder
19. august 2001 - 18:07 #8
logical -> det ved jeg godt, det er det jo også i f.eks. php og javaScript.
Men jeg ville også gerne vide hvad chr funktionen hed i Java, til senere brug, f.eks. for at skrive mystiske tegn til filer eller se om brugeren har trykket ESC eller ascii(244)

:)

// Halfdan
Avatar billede logical Nybegynder
19. august 2001 - 20:31 #9
At man ikke har funktioner til konvertering mellem tegn og tal skyldes arven fra C. Der er en char også bare en int, så... Som du blev klogere:

char ch = \'c\';
int i = (int) ch;

char a = (char) i;
String s1 = \"\" + a;
String s2 = \"\" + i;

Mere er der ikke i det. Andet selvfølgelig end at java bruger unicode internt, så du har aldrig ascii værdier, men unicode værdier (gudskelov er de nederste 256 karakterer af unicode de samme som ascii). Så dine char går fra \\0x0000 til \\0xFFFF
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