Article View: pl.comp.lang.java
Article #153035Re: java 2D i znikajacy rysunek
From: nullpointer
Date: Sat, 22 Oct 2011 10:24
Date: Sat, 22 Oct 2011 10:24
32 lines
2014 bytes
2014 bytes
Za odrysowywanie komponentu odpowiada metoda paintComponent, co jak
widzę już wiesz. W twoim przypadku paintComponent rysuje tylko tło, a
już dodatkowego kwadratu nie - dodatkowy kwadrat rysujesz w mousePressed.
Problem w tym, że jak zasłonisz swój komponent innym oknem, to po jego
odsłonięciu wywoła się paintComponent (tak to działa w AWT/Swing), ale
już mousePressed nie, wiec narysuje się od nowa tylko to, co
zaimplementowałeś w paintComponent.
Spróbuj tak:
- zadeklaruj sobie flagę zawiadującą rysowaniem tego kwadratu:
/* początkowo go nie rysujemy */
private boolean isYellowRectVisible = false;
- w paintComponent zrób sobie ifa:
if (isYellowRectVisible) { /* rysowanie żłótego kwadratu */ }
- w mousePressed, zamiast rysować, ustawiaj sobie że chcesz,
aby ten kwadrat się rysował
isYellowRectVisible = true;
po czym wymuś odrysowanie komponentu metodą repaint().
Polecam też lekturkę poniższego:
http://java.sun.com/products/jfc/tsc/articles/painting/
http://download.oracle.com/javase/tutorial/uiswing/painting/
--
npe
Technical Details
Message-ID:
<j7u5kk$pcp$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mailReferences:
<3314ac17-cdaa-4834-8d4c-8fac287f6083@h5g2000vbf.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail From: nullpointer <i.tak@nie.dojdzie.pl> Newsgroups: pl.comp.lang.java Subject: Re: java 2D i znikajacy rysunek Date: Sat, 22 Oct 2011 12:24:18 +0200 Organization: http://onet.pl Lines: 32 Message-ID: <j7u5kk$pcp$1@news.onet.pl> References: <3314ac17-cdaa-4834-8d4c-8fac287f6083@h5g2000vbf.googlegroups.com> NNTP-Posting-Host: 79.110.197.206 Mime-Version: 1.0 X-Trace: news.onet.pl 1319279060 26009 79.110.197.206 (22 Oct 2011 10:24:20 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Sat, 22 Oct 2011 10:24:20 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 In-Reply-To: <3314ac17-cdaa-4834-8d4c-8fac287f6083@h5g2000vbf.googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit