Archief - JAVA paintComponent loop

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

fat-beavis

Legacy Member
Jeeps

bedoeling :

Ik roep vanuit mijn main de classe ClsRechthoek aan om figuren te tekenen.
In mijn classe ClsRechthoek roep ik de sub op paintComponent waarin hij hier gewoon een statiefje tekent (zie code).

Eronder bevind zich code om de circels en rechthoeken op de statief te tekenen.
1 Rechthoek lukt maar blijkbaar pakt hij z'n loop niet.
Ik geef gewoon 3 integers mee in mijn classe om dan per toren zoveel circels te tekenen maar dat doet er nu even niet toe.
Ik krijg perfect een waarde mee wanneer ik de classe aanroep.

Alvast Bedankt!

PS. Is idd niet in het engels geprogrammeerd.


Hier is mijn classe :


public class ClsRechthoek extends JPanel {
int rij1;
int rij2;
int rij3;
int hoogte = 10;
int lengte = 30;





public ClsRechthoek(int toren1, int toren2 ,int toren3)
{
this.rij1 = toren1;
this.rij2 = toren2;
this.rij3 = toren3;


}


@Override
public void paintComponent(Graphics g){
g.setColor(Color.red);
super.paintComponent(g);

//tekenen van statief
g.setColor(Color.GRAY);
g.fillRect(50,335,700,50);

g.setColor(Color.GRAY);
g.fillRect(150, 67, 16, 270);
g.fillRect(375, 67, 16, 270);
g.fillRect(620, 67, 16, 270);



//tekenen van toren1


int x = 150;
int y = 315;

int i = 0;
for (i = 0; i <=rij1; i++){

g.setColor(Color.red);
g.fillRect(x-this.lengte/2+8, y -20,this.lengte,this.hoogte);
y = -20;
}
}

}

Vin

Legacy Member
Dat komt omdat hetgeen je in je for lus oproept niet aangepast wordt.
Je tekent een rechthoek, dan zet je y op -20 en dan teken je 2 identieke rechthoeken, die buiten de canvas vallen aangezien y = -20 en hoogte = 10.
Misschien bedoelde je y -= 20?

PS: je gebruikt wel erg vaak setColor. Zo doe je dat voor de aanroep van super.paintComponent(), en stel je 2x na elkaar dezelfde kleur in. Ook de aanroep van setColor in de for lus kan je beter ervoor zetten.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan