Ik heb de volgende applicatie geschreven en nou is het de bedoeling dat ik een aantal van die sterren op het scherm maak, maar ik krijg het voor elkaar om maar 1 ster te tekenen. Weet iemand wat ik over het hoofd zie?
Code:
import java.awt.*;
import javax.swing.*;
public class Paneel extends JPanel
{
private Ster model,model2;
private JPanel view,view2;
private JPanel controller;
public Paneel()
{
setLayout( null );
setBackground (Color.GREEN);
model = new Ster(50, 100, 30,5,Color.BLUE);
model2 = new Ster(100, 50, 5,30,Color.BLUE);
view = new SterView(model,model2);
view2= new SterView2(model,model2);
controller = new Bedieningspaneel(model, view);
add(view,view2);
add(controller);
}
}
Code:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
class SterView extends JPanel
{
private Ster model,model2;
// Constructor
public SterView(Ster model, Ster model2)
{
this.model = model;
this.model2 = model2;
setBackground (Color.RED);
setBounds( model.getxPositie(), model.getyPositie(), model.getHoogte() + 50, model.getBreedte() + 20);
setBounds( model2.getxPositie(), model2.getyPositie(), model2.getHoogte() + 50, model2.getBreedte() + 20);
}
public void paintComponent( Graphics g )
{
super.paintComponent( g );//liggend
g.setColor (model.getKleur());
g.fillRect(10, 25, model.getHoogte(), model.getBreedte());// de cooordinaten van je model IN je view
g.setColor (model2.getKleur());//staand
g.fillRect(25, 10, model2.getHoogte(), model2.getBreedte());
}
}
Code:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
class SterView2 extends JPanel
{
private Ster model,model2;
// Constructor
public SterView2(Ster model, Ster model2)
{
this.model = model;
this.model2 = model2;
setBackground (Color.YELLOW);
setBounds( model.getxPositie(), model.getyPositie(), model.getHoogte() + 50, model.getBreedte() + 20);
setBounds( model2.getxPositie(), model2.getyPositie(), model2.getHoogte() + 50, model2.getBreedte() + 20);
}
public void paintComponent( Graphics g )
{
super.paintComponent( g );//liggend
g.setColor (model.getKleur());
g.fillRect(10, 25, model.getHoogte(), model.getBreedte());// de cooordinaten van je model IN je view
g.setColor (model2.getKleur());//staand
g.fillRect(25, 10, model2.getHoogte(), model2.getBreedte());
}
}
Code:
import java.awt.Color;
public class Ster
{
private int xPositie, yPositie, hoogte,breedte;
private Color kleur;
public Ster(int xPositie, int yPositie, int hoogte, int breedte,Color kleur) //The constructor
{
this.xPositie = xPositie;
this.yPositie = yPositie;
this.hoogte = hoogte;
this.breedte = breedte;
this.kleur =kleur;
}
public int getxPositie()
{
return (xPositie);
}
public int getyPositie()
{
return (yPositie);
}
public int getHoogte()
{
return (hoogte);
}
public int getBreedte()
{
return (breedte);
}
public Color getKleur()
{
return (kleur);
}
public void setxPositie(int xPositie)
{
this.xPositie = xPositie;
}
public void setyPositie(int yPositie)
{
this.xPositie = yPositie;
}
public void setHoogte(int hoogte)
{
this.hoogte = hoogte;
}
public void setBreedte(int breedte)
{
this.breedte = breedte;
}
public void setKleur(Color kleur)
{
this.kleur = kleur;
}
}
Code:
Laatst bewerkt: