所以我正在为课堂做这个作业。我想用 X 或 Y 图像随机填充 3x3 JLabels 的 JFrame。我从谷歌上得到了一些小图像,并将它们放在我在 Eclipse 中的 Java 项目的源文件夹中,并称它们为“X.jpeg”和“O.jpeg”。
当我只使用字符串“X”和“O”时,我得到了这个工作,但我不知道如何让图像工作。非常感谢任何建议。
好的,这就是我现在正在使用的。我正在将 Jlabel 作为图像添加到 JFrame 中!!!!
块引用
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Chapter12_7 extends JFrame {
public static void main(String[] args) {
Chapter12_7 frame = new Chapter12_7();
frame.setSize(400, 400);
frame.setTitle("Chapter12_7");
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public Chapter12_7(){
BufferedImage x = ImageIO.read(new File("/X.jpeg"));
BufferedImage o = ImageIO.read(new File("/O.jpeg"));
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(3, 3));
add(p1);
int[] ran = new int[9];
for(int j = 0; j < 9; j++){
ran[j] = (int) (Math.random() * 2);
}
for (int i = 0; i < 9; i++){
if(ran[i] == 0){
p1.add(new JLabel( x , JLabel.CENTER));
}
else
p1.add(new JLabel( o , JLabel.CENTER));
}
}
}