Avatar billede skov_p Praktikant
06. februar 2003 - 09:32 Der er 8 kommentarer og
1 løsning

Hvordan tegner man en linie?

Jeg har kigget på nogle eksempler vedr. at tegne i Java.
Ofte bliver metoden "paint(Graphics g)" brugt men aldrig kaldt. Jeg kunne godt bruge et simpel eksempel på hvordan man tegner en streg i et panel eller lign.
Avatar billede disky Nybegynder
06. februar 2003 - 09:44 #1
paint() bliver kaldt, men det gør java af sig selv, når dit program kræver skærmen gentegnet.
Avatar billede websmith Nybegynder
06. februar 2003 - 09:47 #2
Du kan fx i din paint() metode bruge;

g.drawLine(10,10,20,20);

som gerne skulle tegne en linie fra position 10,10 til 20,20

Når du så vil have skidtet tegnet på skærmen, så kalder du repaint()
Avatar billede websmith Nybegynder
06. februar 2003 - 09:48 #3
Dog er det ikke den mest optimale måde at gøre det på, da det vil få skræmen til at blinke hvis man tegner meget på en gang. Den rigtige måde er ved at oprette et billede uden for skærmens tegneområde, og så tegne på det, og så når man er helt færdig med at tegne på det, så kopierer man al det man har tegnet til skræmen i et hug.

Det kaldes offscreen buffering, og giver et meget pænere billede.
Avatar billede websmith Nybegynder
06. februar 2003 - 09:52 #4
Fx. du har et billede uden for skærmen:

image = createImage(300,300); 300x300 pixles
offscreen = image.getGraphics();

public void paint(Graphics g)
{
//Tegn en smule i offscreen buferen
offscreen.drawString("Test",10,10);
offscreen.drawLine(20,20,60,60);

//Tegn offscreen billede på skærmen
g.drawImage(image,0,0,this);
}

Sådan noget som dette.
Avatar billede websmith Nybegynder
06. februar 2003 - 09:53 #5
Hvor du i din klasse definerer:

Graphics offscreen;
Image image;
Avatar billede websmith Nybegynder
06. februar 2003 - 09:56 #6
Og så selvfølgelig til sidst i din paint()
{
repaint();
}
Avatar billede skov_p Praktikant
06. februar 2003 - 10:45 #7
Jeg bruger Visual J++ og der er
window_paint(Object source, PaintEvent e)
Avatar billede skov_p Praktikant
06. februar 2003 - 11:21 #8
Har fundet ud af det
Avatar billede skov_p Praktikant
20. februar 2003 - 11:18 #9
Lukker
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