Problem s kreslenim ctverce do Panelu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problem s kreslenim ctverce do Panelu – Java – Fórum – Programujte.comProblem s kreslenim ctverce do Panelu – Java – Fórum – Programujte.com

 

Vavat90
Newbie
11. 5. 2011   #1
-
0
-

dobry den,
chtel jsem si udelat jednu tridu, kde budu mit pripravene metody na kresleni ctverce a vyplneni ctverce na urcitou pozici v okne.
jenze problem je ten ze v okne mam nekolik panelu a kdyz do jednoho znich pridam tu tridu a zavolam nejakou tu metodu tak se nic nestane.

abych vam to priblizil jak jsem to myslel:

class Draw {

public void kresliCtverec(int x,int y){ kod }

public void vybarviCtverec(int x, int y) { kod }

}

class Okno {
//cast kodu
JPanel panel = new JPanel();
Draw draw = new Draw();
// no a ted nvm jak udelat abych zavolal metodu kresliCtverec a on se zobrazil v panelu
// konec kodu

}

Nahlásit jako SPAM
IP: 84.42.211.–
nervak0
Věrný člen
12. 5. 2011   #2
-
0
-

class Draw {

JPanel panel;
public Draw(JPanel p) { panel = p; }
public void ctverec(int x, int y) { panel.getGraphics().drawRect(x, y, 100, 100); }
}
...
JPanel panel = new JPanel();
Draw draw = new Draw(panel);
...
draw.ctverec(10, 10);

Nahlásit jako SPAM
IP: 213.211.51.–
nervak0
Věrný člen
12. 5. 2011   #3
-
0
-

A ten panel neudržuje to, co na něj kreslíš a až se znova vykreslí (třeba po přepnutí okna), tak se ti ty tvé čtverce překreslí/smažou.

Řešením je vytvořit si odvozený panel (nebo canvas, apod.) s vlastní metodou paint().

Nahlásit jako SPAM
IP: 213.211.51.–
Vavat90
Newbie
12. 5. 2011   #4
-
0
-

To nervak : MOhl bys mi nejak priblizne rici jak vypada ten odvozeny panel nebo canvas?

Nahlásit jako SPAM
IP: 84.42.211.–
Vavat90
Newbie
12. 5. 2011   #5
-
0
-

To nervak : Ptze ja potrebuji abych vykreslil sit 10x10 a pak mel moznost do te site prekreslovat ty ctverce, jako zmena barvy jedno ctverce ci zmenit jeden ctverec na krizek.

Nahlásit jako SPAM
IP: 84.42.211.–
nervak0
Věrný člen
12. 5. 2011   #6
-
0
-

public class MujPanel extends JPanel {

public void paint(Graphics g) {
super.paint(g);

Graphics2D g2D = (Graphics2D) g;

g2D.drawRect...
}
}

Nahlásit jako SPAM
IP: 213.211.51.–
Vavat90
Newbie
12. 5. 2011   #7
-
0
-

To nervak : Kdyz bych to modifikoval tak, aby se mi ze ctvercu poskladala mrizka. Pujde pak prekreslit jednotlivectverce mrizky aniz bych musel kreslit znova celou tu mrizku?

Nahlásit jako SPAM
IP: 84.42.211.–
nervak0
Věrný člen
12. 5. 2011   #8
-
0
-

Tak změna, místo paint bude lepší paintComponent.

Nahlásit jako SPAM
IP: 213.211.51.–
nervak0
Věrný člen
12. 5. 2011   #9
-
0
-

Když zavoláš repaint() jen pro určitou oblast, tak by potom měla jít zjistit přes g.getClipBounds() a podle toho bys mohl vykreslit jen tu potřebnou oblast.

Ale ten clip by zároveň snad měl oříznout všechno kreslení mimo a těch čtverců určitě nemáš nějak extra hodně, takže to asi vůbec nemusíš řešit.

Nahlásit jako SPAM
IP: 213.211.51.–
Vavat90
Newbie
12. 5. 2011   #10
-
0
-

To nervak : NO hele proste si predstav ze mas mrizku slozenou ze ctvercu a je to 10x10

Nahlásit jako SPAM
IP: 84.42.211.–
nervak0
Věrný člen
13. 5. 2011   #11
-
0
-

No a co?

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

Podobná vlákna

Problémy s kreslením — založil pepca

Obvod ctverce VB — založil Mike007

Metoda na vyplneni ctverce — založil Vavat9

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý