Metoda na vyplneni ctverce – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Metoda na vyplneni ctverce – Java – Fórum – Programujte.comMetoda na vyplneni ctverce – Java – Fórum – Programujte.com

 

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

Nvt, kde mam chybu??

public void fillRec(int x, int y){

Graphics g = getGraphics();
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.red); // tady mi to hlasi null pointer
g2d.drawRect(30*x+40, 30*y+40, 30, 30);
g2d.fillRect(30*x+40, 30*y+40, 30, 30);

}

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

public Graphics getGraphics()
Creates a graphics context for this component. This method will return null if this component is currently not displayable.


Kdybys kreslil kde a kdy máš, tak Graphics dostaneš.

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

To nervak :

public class Draw extends JPanel{

Graphics2D g2d;
public Draw() {
setLayout(new GridLayout(12, 12, 15, 10));
setPreferredSize(new Dimension(350,350));
setBackground(Color.WHITE);

}



@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g2d = (Graphics2D)g;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
g2d.drawRect(j*30+40, i*30+40, 30, 30);
}
}
}

public void fillRect(int x, int y){
g2d.setColor(Color.BLACK);
g2d.fillRect(x, y, 30, 30);
}

}
Tak kde je chyba ? :/ Kdyz zavolam fillRect tak to hodi null pointer

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

Graphics předaný paintComponent je určen pro použití jen tam. Buď ho používáš když už není použitelný, nebo ještě předtím než ho vůbec nastavíš. Kresli to v paintComponent a nevymýšlej zbytečnosti.

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

To nervak :

Ja potrebuju nejakou metodu, ktera mi po zavolani vybarvi ten ctverec, kterej ja zadam. Takze kdyz budu mit mrizku 2x2
tu si necham vykreslit a pak po stisknuti tlacitka na mysi se mi ulozi souradnice mysi a podle nich pak vybarvim ten ctverec.

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

pole[x][y] = plnej;

panel.repaint();

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

nervak napsal:

pole[x][y] = plnej;
panel.repaint();



Nechapu jak to myslis :(

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

To Vavat9 : Aa uz mi to jde. Diky za pomoc :)

Nahlásit jako SPAM
IP: 84.42.211.–
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, 36 hostů

Podobná vlákna

Obvod ctverce VB — založil Mike007

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ý