juste better

This commit is contained in:
2025-04-02 10:54:14 +02:00
parent 1b9ff5bdd1
commit 97cafb903a
12 changed files with 212 additions and 131 deletions

View File

@@ -1,6 +1,8 @@
package chess.simplerender;
import java.awt.Image;
import java.util.HashMap;
import java.util.Map;
import javax.swing.Icon;
import javax.swing.ImageIcon;
@@ -18,11 +20,22 @@ import chess.model.pieces.Rook;
public class PieceIcon implements PieceVisitor<String> {
private static final String basePath = "app/src/main/resources/pieces2D/";
private static final Map<String, Icon> cache = new HashMap<>();
public Icon getIcon(Piece piece) {
if (piece == null)
return null;
return new ImageIcon(new ImageIcon(basePath + colorToString(piece.getColor()) + "-" + visit(piece) + ".png").getImage().getScaledInstance(100,100, Image.SCALE_SMOOTH));
String path = basePath + colorToString(piece.getColor()) + "-" + visit(piece) + ".png";
return getIcon(path);
}
private Icon getIcon(String path) {
Icon image = cache.get(path);
if (image != null)
return image;
image = new ImageIcon(new ImageIcon(path).getImage().getScaledInstance(100,100, Image.SCALE_SMOOTH));
cache.put(path, image);
return image;
}
private String colorToString(Color color) {