Kezdőoldal » Számítástechnika » Programozás » JAVA-ban kérnék segítséget!?...

JAVA-ban kérnék segítséget!? Többi lent!

Figyelt kérdés

Egy Paint szerű programot kell készítenem JAVA nyelven, viszont problémába ütköztem, és sehogy sem tudom megoldani. Rajzolás közben ha az alakzatok között váltok, akkor a már előre a "toll"-al megrajzolt dolgok eltűnnek, ha a "kör"-re váltok, a jPanel1.update(lap) miatt. Hogyan lehet a toll-által megrajzoltakat elmenteni, hogy a lap újratöltésnél ne tűnjön el? Előre is köszönöm a válaszokat!


if (alakzat=="kör"){

jPanel1.update(lap);

x2=evt.getX() - x1;

y2=evt.getY() - y1;

circbuffer = new Ellipse2D.Float((float)x1,(float)y1,(float)x2,(float)y2);

drawall();

lap.draw(circbuffer);

}


if (alakzat=="toll"){

x1=evt.getX();

y1=evt.getY();

lap.drawLine(x2,y2,x1,y1);

x2=x1;

y2=y1;

}



2016. máj. 25. 18:22
 1/3 anonim ***** válasza:

String-et nem ==-vel hasonlítunk, hanem equals()-al.


Ehelyett: alakzat=="kör"

Így: "kör".equals(alakzat)


(Nem biztos, hogy a fő kérdésedre válaszol, de ez mindenképpen hiba volt.)

2016. máj. 25. 18:50
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

a kirajzolni való dolgokat folyamatosan egy lista végére fűzöd, a kirajzoló rutinban meg csak a listán végig iterálva kirajzolsz mindent.

legjobb lenne nem mindig explicite meghívni ezeket, hanem létrehozni egy saját JPanel osztály pl, amiben felülírod a paint metódust, és abban rajzolod ki a lista minden elemét. így ha elmozgatod az ablakot pl a képernyőn kívülre majd vissza, akkor is ki fog rajzolni mindent automatikusan, neked meg csak a listába bele rakosgatni az elemeket

2016. máj. 25. 18:59
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:

a lista lehet pl egy ArrayList<Drawable>, ahol a Drawable egy interfész, aminek van pl egy void draw(Graphics2D g) metódusa, és csinálsz pl Line és Circle osztályokat, amik implementálják az interfészt

JPanel paintjében csak végig iterálsz a listán és végig hívod mindre a draw metódust, az egér esemény kezelőjében meg a lista végére addolod az alakzatnak megfelelően egy új Line vagy Circle objektumot

2016. máj. 25. 19:07
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!