Drawer.java refactored: It is now an abstract class instead of an

interface. ImagePanel.java removed.
This commit is contained in:
ericnerdo 2016-05-09 16:30:18 +02:00
parent b498942bde
commit 80b844900c
9 changed files with 32 additions and 65 deletions

View File

@ -1,10 +1,27 @@
package cicaprojekt;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public interface Drawer {
import javax.imageio.ImageIO;
public abstract class Drawer {
private BufferedImage image;
public Drawer(String path) throws IOException {
image = ImageIO.read(new File(path));
}
public void changeImage(String path) throws IOException {
image = ImageIO.read(new File(path));
}
public void draw() throws IOException;
public int getTileX();
public int getTileY();
public BufferedImage getImage() {
return image;
}
public abstract void draw() throws IOException;
public abstract int getTileX();
public abstract int getTileY();
}

View File

@ -2,14 +2,12 @@ package cicaprojekt;
import java.io.IOException;
public class FieldDrawer extends ImagePanel implements Drawer {
public class FieldDrawer extends Drawer {
Field field;
public FieldDrawer(Field f) throws IOException {
super("Field.png");
field = f;
setVisible(false);
}
@Override
@ -21,7 +19,6 @@ public class FieldDrawer extends ImagePanel implements Drawer {
else
changeImage("Field.png");
setVisible(true);
}
@Override

View File

@ -2,19 +2,17 @@ package cicaprojekt;
import java.io.IOException;
public class GapDrawer extends ImagePanel implements Drawer{
public class GapDrawer extends Drawer{
private Gap gap;
public GapDrawer(Gap g) throws IOException {
super("Gap.png");
gap = g;
setVisible(false);
}
@Override
public void draw() {
setVisible(true);
//TODO kezdeni ezzel valamit.
}
@Override

View File

@ -2,14 +2,12 @@ package cicaprojekt;
import java.io.IOException;
public class GateDrawer extends ImagePanel implements Drawer{
public class GateDrawer extends Drawer{
Gate gate;
public GateDrawer(Gate g) throws IOException {
super("ClosedGate.png");
gate = g;
setVisible(false);
}
@Override
@ -17,9 +15,7 @@ public class GateDrawer extends ImagePanel implements Drawer{
if(gate.isOpen())
changeImage("Field.png"); //TODO picture for open gate.
else
changeImage("ClosedGate.png");
setVisible(true);
changeImage("ClosedGate.png");
}
@Override

View File

@ -1,29 +0,0 @@
package cicaprojekt;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class ImagePanel extends JPanel{
private BufferedImage image;
public ImagePanel(String path) throws IOException {
image = ImageIO.read(new File(path));
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, null); // see javadoc for more info on the parameters
}
public void changeImage(String path) throws IOException {
image = ImageIO.read(new File(path));
repaint();
}
}

View File

@ -2,13 +2,12 @@ package cicaprojekt;
import java.io.IOException;
public class PlayerBaseDrawer extends ImagePanel implements Drawer {
public class PlayerBaseDrawer extends Drawer {
PlayerBase playerbase;
public PlayerBaseDrawer(PlayerBase pb) throws IOException {
super("Replicator.png");
playerbase = pb;
setVisible(false);
}
@Override
@ -33,7 +32,6 @@ public class PlayerBaseDrawer extends ImagePanel implements Drawer {
}
}
setVisible(true);
}
@Override

View File

@ -2,13 +2,12 @@ package cicaprojekt;
import java.io.IOException;
public class PlayerDrawer extends ImagePanel implements Drawer {
public class PlayerDrawer extends Drawer {
Player player;
public PlayerDrawer(Player p) throws IOException {
super("ONeill.png");
player = p;
setVisible(false);
}
@Override
@ -49,9 +48,7 @@ public class PlayerDrawer extends ImagePanel implements Drawer {
break;
}
break;
}
setVisible(true);
}
}
@Override

View File

@ -2,14 +2,12 @@ package cicaprojekt;
import java.io.IOException;
public class ScaleDrawer extends ImagePanel implements Drawer {
public class ScaleDrawer extends Drawer {
Scale scale;
public ScaleDrawer(Scale s) throws IOException {
super("Scale.png");
scale = s;
setVisible(false);
}
@Override
@ -19,7 +17,6 @@ public class ScaleDrawer extends ImagePanel implements Drawer {
else
changeImage("Scale.png");
setVisible(true);
}
@Override

View File

@ -2,14 +2,12 @@ package cicaprojekt;
import java.io.IOException;
public class WallDrawer extends ImagePanel implements Drawer {
public class WallDrawer extends Drawer {
Wall wall;
public WallDrawer(Wall w) throws IOException {
super("Wall.png");
wall = w;
setVisible(false);
}
@Override
@ -34,9 +32,7 @@ public class WallDrawer extends ImagePanel implements Drawer {
changeImage("Wall.png");
break;
}
}
setVisible(true);
}
}
@Override