|
MastermindView.java
Created with JBuilder |
package mastermind;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
/**
* MasterMindView -
* Stellt das Spielbrett dar - Dazu benutzt eine Flotte von TackSinks. Auch ist es möglich ein Hintergrundbild anzugeben.
*
* Mind Blowing Master Mind ein klein Projekt des Informatik Unterrichts Programmieren II
* Authors Pascal Naef; Fabian Heusser
* Teacher: H. J. Diethlem
* School: hta.fhz.ch, Horw;
* Project Homepage: http://www.w3p.ch/mastermind/
*
* supported features:
* OYAAHA Look and feel;
* Transparen Pictures;
* Drag & Drop;
* Copy & Paste;
*
*
* LEGAL NOTICE
* THIS PROJECT AND ITS FILES ARE COPYRIGHTED BY THE AUTHORS
* THIS PROJECT CAN BE COPIED, MODIFIED AND DISTRIBUTED
* UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENCE
* WITH THE RESTRICTION OF SENDING US A MAIL WITH THE MODIFIED
* SOURCODE IF THE PROJECT IS MODIEFIED.
*
* if you like this progi feel free to send us something (beer, chips, playmates, houses....).
*
*
* @author Fabian Heusser
* @author Pascal Naef
* @version 1.0 $Date: 2001/12/05 14:46:53 $ $Revision: 1.1.1.1 $
* @(#) MasterMindView.java
*/
public class MastermindView extends JPanel {
ImageIcon bg;
MasterMindModel mmd;
TackSink[][] tacksinks;
/**
* Full featured Constructor
* @param mmd MasterMindModel, Model welches gezeichnet werden soll
* @param bg String, Das Hintergrundbild, kann zum beispiel ein
* Spielbrett oder eine schöne Frau darstellen
*/
public MastermindView(MasterMindModel mmd, String bg) {
this.mmd = mmd;
if (bg=="") bg = "gfx/default/bg.png";
this.bg = new ImageIcon(bg);
//adding the TackSinks
this.setLayout(new GridLayout(mmd.getHeight(),mmd.getWidth()+1));
for ( int y = mmd.getHeight(); --y>=0;){
for (int x = 0; x<mmd.getWidth(); x++){
this.add(new TackSink(mmd,x,y));
}
this.add(new ScorePanel(mmd, y));
}
}
/**
* Construktor ohne Hintergrund Bild
* @param mmd MasterMindModel, das Model das gezeichnet werden soll.
*/
public MastermindView(MasterMindModel mmd) {
this(mmd, null);
}
/**
* Zeichnet alles, speziel das Hintergrundbild.
* @param g Graphics, worauf gezeichnet wird.
*/
public void paintComponent(Graphics g){
super.paintComponent(g);
if (bg != null)g.drawImage(bg.getImage(),0,0,this.getWidth(),this.getHeight(),null);
}
/**
* Setzt das Model das gezeichnet wird
* @param mmd MasterMindModel, welche das Logische Spielbrett enthält.
*/
public void setMasterMindModel(MasterMindModel mmd){
this.mmd = mmd;
for ( int y = mmd.getHeight(); --y>=0;){
for (int x = 0; x<mmd.getWidth(); x++){
tacksinks[x][y].setMasterMindModel(mmd);
}
}
repaint();
};
/**
* Setzt das Hintergrunbild das gezeichnet werden soll
* @param bg String, Pfad zum Hintergrundbild.
*/
public void setBg(String bg){ this.bg = new ImageIcon(bg);};
}
|
MastermindView.java
Created with JBuilder |