Avatar billede lsskaarup Nybegynder
27. juli 2001 - 01:25 Der er 7 kommentarer og
1 løsning

Hvordan skifter man linie i en udskrivning ????

Jeg har lavet at lille program, der ved at klik på en knap, skal skrive nogle indtastede opkysninger (3 textfields) ud. Jeg har dog dette problem, at de skal stå på hver sin linie, hvordan gør jeg det. Min kode se sådanne ud:

public void actionPerformed (ActionEvent e) {
    PrintJob pjob = getToolkit().getPrintJob(TekstJFrame.this, \"PrintIT\", p);
    if (pjob != null) {
    Graphics pg = pjob.getGraphics();
      if (pg != null) {
      String navn = ivjNavnJTextField.getText();
      String førpris = ivjTFørNuJTextField.getText();
      String nupris = ivjTKrJTextField.getText();
      printLongString (pjob, pg, navn);
      printLongString (pjob, pg, førpris);
      printLongString (pjob, pg, nupris);
      pg.dispose();
    }
    pjob.end();
    }
}

Dette resulterer i at de bliver skrevet ud oven på hinanden, hvilket jo ikke er so smart. Jeg ved at man ved System.out bruger \"ln\" til at fortælle programmet om linieskift, er der sådan en komando til printjob også ?
Avatar billede jakoba Nybegynder
27. juli 2001 - 01:34 #1
      printLongString (pjob, pg, navn+\"\\n\");
      printLongString (pjob, pg, førpris+\"\\n\");
      printLongString (pjob, pg, nupris);

skulle være nok
Avatar billede lsskaarup Nybegynder
27. juli 2001 - 12:09 #2
Nej desværer ikke, det udskrives stadig oven hinanden.
Avatar billede jakoba Nybegynder
27. juli 2001 - 12:42 #3
\"\\n\" er newline-bogstavet, og vil være nok i de situationer.
der er en svag mulighed for at \"\\r\\n\" vil hjælpe.
Det sandsynligste er nok at det sted du skriver ud er et eller andet specielt linieopdelt.
Det kunne også være at metoden PrintLongString altid skreiver fra starten. Ret sandsynligt endda, side den har 2 andre (hvor der skal printes?) parametre med.

det kan du teste med:

      String navn = ivjNavnJTextField.getText();
      String førpris = ivjTFørNuJTextField.getText();
      String nupris = ivjTKrJTextField.getText();
      String tempstr = navn +\"\\n\" +førpris +\"\\n\" +nupris;
      printLongString (pjob, pg, tempstr);

mvh JakobA

Avatar billede lsskaarup Nybegynder
27. juli 2001 - 13:12 #4
Kigger lige på det, men jeg tror også jeg har lavet en anden fejl, idet jeg vil udskrive kommer dialogboksen, men udskrivningindstillingerne frem 2 gange og det er først den sidste jeg klikker ok at det printes ud. Ved du hvad det kan skyldes ?
Avatar billede lsskaarup Nybegynder
27. juli 2001 - 13:17 #5
Du havde ret i at PrintLongString udskriver fra starten, for det virkede med tempstr. Har du en ide om hvorfor jeg får to dialogbokse før udskrivningen ?
Avatar billede lsskaarup Nybegynder
27. juli 2001 - 13:44 #6
Hvor jeg glemte sgu da at acceptere dit svar
Avatar billede jakoba Nybegynder
27. juli 2001 - 14:27 #7
Desværre.
Som du nok allerede har gættet kender jeg slet ikke den java-klasse du bruger. Det ville blive lovlig vildt gætteri.

mvh JakobA
Avatar billede lsskaarup Nybegynder
27. juli 2001 - 17:34 #8
Nå okay, men tak for hjælpen
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