Drawer.getImage() added. AbstractDrawer.java added to contain image for

XXXDrawers. ImagePanel.java removed.
This commit is contained in:
ericnerdo 2016-05-09 16:52:04 +02:00
parent 8cc0136ee9
commit d513d5f9fa
9 changed files with 25 additions and 50 deletions

View File

@ -1,29 +1,25 @@
package cicaprojekt; package cicaprojekt;
import java.awt.Graphics;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class ImagePanel extends JPanel{
public abstract class AbstractDrawer implements Drawer {
private BufferedImage image; private BufferedImage image;
public ImagePanel(String path) throws IOException { public AbstractDrawer(String path) throws IOException {
image = ImageIO.read(new File(path)); 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 { public void changeImage(String path) throws IOException {
image = ImageIO.read(new File(path)); image = ImageIO.read(new File(path));
repaint();
} }
@Override
public BufferedImage getImage() {
return image;
}
} }

View File

@ -1,5 +1,6 @@
package cicaprojekt; package cicaprojekt;
import java.awt.image.BufferedImage;
import java.io.IOException; import java.io.IOException;
public interface Drawer { public interface Drawer {
@ -7,4 +8,5 @@ public interface Drawer {
public void draw() throws IOException; public void draw() throws IOException;
public int getTileX(); public int getTileX();
public int getTileY(); public int getTileY();
public BufferedImage getImage();
} }

View File

@ -2,14 +2,12 @@ package cicaprojekt;
import java.io.IOException; import java.io.IOException;
public class FieldDrawer extends ImagePanel implements Drawer { public class FieldDrawer extends AbstractDrawer {
Field field; Field field;
public FieldDrawer(Field f) throws IOException { public FieldDrawer(Field f) throws IOException {
super("Field.png"); super("Field.png");
field = f; field = f;
setVisible(false);
} }
@Override @Override
@ -19,9 +17,7 @@ public class FieldDrawer extends ImagePanel implements Drawer {
else if(field.hasZPM()) else if(field.hasZPM())
changeImage("ZPM.png"); changeImage("ZPM.png");
else else
changeImage("Field.png"); changeImage("Field.png");
setVisible(true);
} }
@Override @Override
@ -34,4 +30,5 @@ public class FieldDrawer extends ImagePanel implements Drawer {
return field.getY(); return field.getY();
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

@ -2,14 +2,12 @@ package cicaprojekt;
import java.io.IOException; import java.io.IOException;
public class ScaleDrawer extends ImagePanel implements Drawer { public class ScaleDrawer extends AbstractDrawer implements Drawer {
Scale scale; Scale scale;
public ScaleDrawer(Scale s) throws IOException { public ScaleDrawer(Scale s) throws IOException {
super("Scale.png"); super("Scale.png");
scale = s; scale = s;
setVisible(false);
} }
@Override @Override
@ -17,9 +15,7 @@ public class ScaleDrawer extends ImagePanel implements Drawer {
if(scale.hasBox()) if(scale.hasBox())
changeImage("Box.png"); //TODO Picture for Scale with box. changeImage("Box.png"); //TODO Picture for Scale with box.
else else
changeImage("Scale.png"); changeImage("Scale.png");
setVisible(true);
} }
@Override @Override

View File

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