Avatar billede ronnil Nybegynder
08. december 2003 - 17:06 Der er 4 kommentarer og
1 løsning

Hvorfor får jeg ingen tekst??

import java.awt.*;

public class noget extends java.applet.Applet{

    String message;
    Frame window;

    public void init(){
        message = "A little window";
        window = new BaseFrame(message);
        window.resize(100,200);
        window.show();
    }

    public void paint(Graphics g){
        g.drawString(message, 20, 20);
    }
}

class BaseFrame extends Frame{

    String message;

    BaseFrame(String msg){
    message = msg;
    }

    public void paint(Graphics g){
        g.drawString(message,0,0);
    }
}

Dette skulle gerne printe strengen "A little window" i den pågældende applet og i det nye vindue men gør det kun i applet'en

Hvad skal jeg gøre for at vise tekst i vinduet der åbner??

N.B. Er i gang med at lære Java og følger et eksempel fra en bog der beskæftiger sig med java 1.0.1
Avatar billede _carsten Nybegynder
08. december 2003 - 17:18 #1
Du skal ret i din BaseFrame til nedenstående

public void paint(Graphics g){
        g.drawString(message,0,50);
}

Ellers skrives teksten "A little window" oppe bag titellinien
Avatar billede baxos Nybegynder
08. december 2003 - 17:21 #2
system.printIN("") ?? eller er jeg helt galt på den*?? :p
Avatar billede _carsten Nybegynder
08. december 2003 - 17:22 #3
>> baxos
Ja - du er nok lidt galt på den!!
Avatar billede ronnil Nybegynder
08. december 2003 - 17:39 #4
_carsten>> tak, men hvorfor er halvdelen af A'et cuttet af når x værdien er sat til 0?

og hvorfor får jeg ikke teksten når den står som 0,0 så vidt jeg har læst mig til er nulpunktet for drawString i øverste venstre hjørne....

0,0 burde vel ligge i øverste venstre hjørne så.... lissom med CSS's
position: absolute;
top: 0px;
left:0px;
Avatar billede _carsten Nybegynder
08. december 2003 - 17:52 #5
Det er det også i en applet, men ikke i en Frame

En Frame har normalt en border (ramme) og en titellinie
Rammen fylder 4 pixel, titellinien ca. 30 pixel

Nå du overrider paint i en Frame, så tegner du på selve Framen ikke på dens contentPane, hvilket vil sige at en frames (0,0) er det YDERSTE hjørne incl.
ramme og titellinie.

Hvis du vil hvor i en Frame du kan begynde at skrive for at det hele skal
være synligt, så prøv at putte denne her ind i din paint()
      System.out.println(getInsets());
Den fortæller dig hvor meget rammen og titellinien fylder i pixel
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