Hallo Leute,
ich habe ein Applet, aus dem ein Frame erzeugt wird. Das klappt schon ganz gut. Jetzt soll dieser Frame auch die in den Schleifen erzeugten MosaikCanvas-Objekte anzeigen. Wie schaffe ich die Verbindung? Hier der Code dazu:
Danke und Gruß
Aphex
ich habe ein Applet, aus dem ein Frame erzeugt wird. Das klappt schon ganz gut. Jetzt soll dieser Frame auch die in den Schleifen erzeugten MosaikCanvas-Objekte anzeigen. Wie schaffe ich die Verbindung? Hier der Code dazu:
Danke und Gruß
Aphex
Code:
package kapitel1;
import java.awt.*;
public class MosaikCanvas extends Canvas {
//Instanzvariablen
private Color farbe, farbeRueck, farbeVor;
private boolean seite;
private int zeile, spalte;
public Color getFarbe() {
return farbe;
}
public void setFarbe(Color inValue) {
this.farbe = inValue;
}
public boolean getSeite() {
return seite;
}
public void setSeite(boolean inValue) {
this.seite = inValue;
}
public int getSpalte() {
return spalte;
}
public void setSpalte(int inValue) {
this.spalte = inValue;
}
public int getZeile() {
return zeile;
}
public void setZeile(int inValue) {
this.zeile = inValue;
}
//Konstruktormethode
public MosaikCanvas(int zeile, int spalte, Color farbeRueck, Color farbeVor) {
this.zeile=zeile;
this.spalte=spalte;
this.farbeRueck=farbeRueck;
this.farbeVor=farbeVor;
setSeite(false);
setFarbe(farbeRueck);
}
//Methode zum Drehen der Karten
public void switchSeite() {
seite=!seite;
farbe=(farbe==farbeRueck) ? farbeVor : farbeRueck;
repaint();
}
public void paint(Graphics g) {
g.setColor(getFarbe());
g.fillRect(0, 0, getSize().width-1, getSize().height-1);
}
}
Code:
package kapitel1;
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.Frame;
public class Mosaik extends java.applet.Applet implements MouseListener {
int raster;
private Frame fenster;
public void init() {
String temp=getParameter("raster");
raster=Integer.parseInt(temp);
setLayout(new GridLayout(raster, raster));
for(int i=0; i<raster; i++) {
for(int j=0; j<raster; j++) {
MosaikCanvas mc=new MosaikCanvas(i, j, new Color(255, 0, 0), new Color(0, 255, 0));
mc.addMouseListener(this);
add(mc);
}
}
fenster=new Frame();
fenster.setTitle("Protokollfenster");
fenster.setBackground(Color.WHITE);
fenster.setLocation(300, 100);
fenster.setSize(getSize());
fenster.show();
}
public void mouseClicked(MouseEvent me) {
}
public void mouseEntered(MouseEvent me) {
}
public void mouseExited(MouseEvent me) {
}
public void mousePressed(MouseEvent me) {
}
public void mouseReleased(MouseEvent me) {
((MosaikCanvas)me.getSource()).switchSeite();
}
}