Avatar billede chrlyck Nybegynder
17. december 2002 - 12:58 Der er 8 kommentarer og
2 løsninger

\n i JLabel

Hvorfor kan man ikke bruge \n i JLabel???

eks.

private JLabel smartLabel = new JLabel("Jeg er smart \n Meget smart!");

...

smartLabel.setBounds(20,115,120,25);
getContentPane().add(smartLabel);

Er det fordi de mener at det ikke er nødvendigt med en sådan funktion fordi de vil have man skal lave en ny label nedenunder? Det er da for lamt...?

Forresten så laver compileren ingen fejl, men når man kører programmet skriver den en firkant i stedet for at rykke en linie ned. Er der så en anden kode for \n eller ?

Jeg gider ikke til at oprette en ny label da jeg har en hel del af dem og det ville være alt for bøvlet...
Avatar billede nikrasitf Nybegynder
17. december 2002 - 13:16 #1
Hva' sker der hvis du indsætter #10 og #13 i strengen istedet for \n,
dvs "Jeg er smart \x10\x13 Meget smart!"..
Langt tid siden jeg har rodet med java/c osv, så er slet ikke sikker på syntax'en :)
Avatar billede arne_v Ekspert
17. december 2002 - 13:21 #2
Der er ikke nogen som helst grund til at tro, at en
newline virker i et grafisk skærmbillede.
Avatar billede nikrasitf Nybegynder
17. december 2002 - 13:23 #3
Tja, det virker da i delphi og alle andre RAD jeg kender...
Avatar billede chrlyck Nybegynder
17. december 2002 - 13:36 #4
arne>
Nu er det jo ikke et grafisk skærmbillede... Det er jo "bare" en String i en label. Det er derfor jeg ikke fatter hvorfor det ikke virker. Eller?

nikrasitf>
Syntaxen er jo at \n betyder newline, men anyway så har jeg testet dit forslag og så går den helt amok...
Avatar billede chrlyck Nybegynder
17. december 2002 - 13:38 #5
Jeg har droppet det nu, jeg beholder det bare som det er med det hele i en linie.
Avatar billede arne_v Ekspert
17. december 2002 - 13:42 #6
Det virker ihvertfald kun hvis der er eksplicit kode
i GUI toolkittet der håndterer det. Et grafisk
skærmbillede består af pixels og de ved ikke noget
om newline. En newline har en betydning i en fil
på disk. En gammeldages VT terminal reagerer på
en newline. Og du siger jo selv, at det ikke virker
(bare skriver en firkant ud).
Avatar billede nikrasitf Nybegynder
17. december 2002 - 13:52 #7
Ja selvfølgelig skal GUI-komponenten kunne håndtere det,
som jeg dog også regnede med da det virker i de fleste RAD's.

Men åbenbart ikke i java's label-komponent... mystiks,
men så kan du vel igen som de fleste andre RAD's finde
labels-komponenter og andet halløj på netter som kan kan lige det?
Avatar billede olly Nybegynder
17. december 2002 - 14:46 #8
Prøv at brug det her måske!

public class test
{
    public static void main(String args[])
    {
        String CR = System.getProperty("line.separator");
        System.out.println("HEJ " +CR +"med "+CR+"dig");
    }
}
Avatar billede chrlyck Nybegynder
17. december 2002 - 19:08 #9
Jeg har kigget på de nyeste kommentarer. Vi arbejder med projekt i øjeblikket, og jeg kan også godt se det arne siger.

Jeg skal også indrømme at jeg troede at olly's virkede, men den skrive bare to firkanter i stedet for én... Grrrr ;)

Opfølgning kommer i et nyt spørgsmål senere i dag.

Tak for hjælpen..
Avatar billede olly Nybegynder
18. december 2002 - 10:11 #10
Min bruges hvis du ønsker at man på alle platforme kan skifte linie i en consol, men den kunne jo måske bruges i GUI... Men nej... Træls...
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