我的问题是这样的:
(游戏:显示井字棋盘)显示一个包含九个标签的框架。标签可以显示X的图像图标或O的图像图标。显示什么是随机决定的。使用Math.random()方法生成整数0或1,对应于显示X或O图像图标。这些图像位于x.gif和o.gif文件中
我遇到的问题是 imgaes 不会在程序中显示。当我运行它时,程序会生成一个空帧。我的猜测是图像文件的位置一定有问题。
我已经从这本书的出版商那里下载了一个 .zip 文件,我使用的是(Liang 的 Java 编程简介),看起来图像应该包含这个文件。但它没有。所以我在网上找到了相同的 .gif 并下载了它们。现在我想知道我如何设置正确的位置。
我认为代码本身应该没问题。反正就是这里。
import java.awt.GridLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TicTacToe extends JFrame {
private ImageIcon cross = new ImageIcon("image/x.gif");
private ImageIcon not = new ImageIcon("image/o.gif");
public TicTacToe() {
setLayout(new GridLayout(3, 3));
for (int i = 0; i < 9; i++) {
int mode = (int) (Math.random() * 3.0);
if (mode == 0)
add(new JLabel(this.cross));
else if (mode == 1)
add(new JLabel(this.not));
else
add(new JLabel());
}
}
public static void main(String[] args) {
TicTacToe frame = new TicTacToe();
frame.setTitle("TicTacToe");
frame.setSize(200, 200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(3);
frame.setVisible(true);
}
}
另一个小问题,将使用这个:
import java.awt.*;
import javax.swing.*;
而不是这个:
import java.awt.GridLayout;
import javax.swing.ImageIcon;
做坏事?我在想,如果您认为我的讲师会发现总是导入所有而不是我需要的单独导入会很懒惰。
提前 - 谢谢。