私が書いたペイント方法の上にイメージを挿入する際に問題があります。私は、特定の座標でペイント方法にイメージを重ねるようにしたい。JPanel(JPanelの)ペイントメソッドの上にイメージを追加するにはどうすればよいですか?
マイコード:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Polygon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class testguipaint {
public static void main(String[] args) {
testguipaint img = new testguipaint();
}
public testguipaint() {
JFrame frame = new JFrame();
frame.add(crafting, BorderLayout.CENTER);
frame.setSize(442, 284);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(3);
}
static JPanel crafting = new JPanel() {
public void paint(Graphics g) {
Color darkGrey = new Color(153, 153, 153);
g.setColor(darkGrey);
g.fillRect(0, 0, 436, 252);
Color lightGrey = new Color(198, 198, 198);
g.setColor(lightGrey);
g.fill3DRect(3, 3, 430, 246, true);
g.setColor(darkGrey);
g.fill3DRect(16, 16, 222, 222, true);
g.fill3DRect(320, 78, 100, 100, true);
g.fillRect(248, 121, 39, 12);
Polygon triangle = new Polygon();
triangle.addPoint(287, 103);
triangle.addPoint(287, 151);
triangle.addPoint(311, 127);
g.fillPolygon(triangle);
g.setColor(Color.white);
g.fill3DRect(88, 16, 3, 222, true);
g.fill3DRect(163, 16, 3, 222, true);
g.fill3DRect(16, 88, 222, 3, true);
g.fill3DRect(16, 163, 222, 3, true);
//BufferedImage image = new ImageIO.read(new File("/minecraft jpeg's/Products/Bread.png"));
//g.drawImage(image, 44, 191, null);
//44, 191
}
};
}
JPanelに背景画像として他の絵を使用していましたか? – mKorbel
いいえ、上に表示されているペイント方法(オーバーラップ)の上に画像を配置する必要があります。 – Lee
あなたが必要であればうまくいくが、この画像はカバーで塗ってもかまいません – mKorbel