Java 图像上的形状??(爪哇)
我正在尝试用Java编写一个棋盘游戏。 我的棋盘是图像,棋子是长方形。我希望棋盘是JFrame中的背景,棋子在棋盘上。我尝试过多次,但不是板覆盖了形状,就是只显示了形状。我可以将形状与图像连接起来,然后创建一个新图像,但这不是我想要的。有什么想法吗Java 图像上的形状??(爪哇),java,image,swing,shape,Java,Image,Swing,Shape,我正在尝试用Java编写一个棋盘游戏。 我的棋盘是图像,棋子是长方形。我希望棋盘是JFrame中的背景,棋子在棋盘上。我尝试过多次,但不是板覆盖了形状,就是只显示了形状。我可以将形状与图像连接起来,然后创建一个新图像,但这不是我想要的。有什么想法吗 public class Board extends JPanel { @Override public void paintComponent(Graphics g) { try { BufferedImage
public class Board extends JPanel {
@Override
public void paintComponent(Graphics g) {
try {
BufferedImage img = ImageIO.read(new File("C:\\Users\\i\\Desktop\\j.png"));
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g);
g.drawImage(img, 0, 0, null);
}catch (IOException ex) {
Logger.getLogger(Board.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
还有我的另一节课
运动员的职业
不要在paintComponent内创建新图像。将其存储为一个字段并使用引用。您没有对Player执行任何操作,您希望它如何显示矩形?1为了更快地获得更好的帮助,请发布一个最小的完整可验证示例。2获取图像的一种方法例如,热链接到中看到的图像。3使用缩进代码行和代码块的逻辑和一致形式。缩进的目的是使代码的流程更易于遵循!
public class GameGUI extends javax.swing.JFrame {
public GameGUI() {
Board b=new Board();
setContentPane(b);
setSize(600,600);
setTitle("gui");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
public class Player extends JPanel{
int xPos = 100, yPos = 100, vwidth = 100, vheight = 100;
Rectangle r = new Rectangle(xPos, yPos, vwidth, vheight);
public Player(){ .....}
@Override
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
super.paintComponent(g);
g.setColor(Color.black);
if (fill) {
g.fillRect((int) r.getX(), (int) r.getY(), (int) r.getWidth(), (int) r.getHeight());
}
g2.draw(r);
}
}