私の問題はこれです:
(ゲーム: 三目並べを表示する) 9 つのラベルを含むフレームを表示します。ラベルには、Xのイメージ アイコンまたはOのイメージ アイコンが表示される場合があります。何を表示するかはランダムに決定されます。Math.random()メソッドを使用して、 XまたはO画像アイコンの表示に対応する整数0または1を生成します。これらの画像は、ファイルx.gifおよびo.gifにあります。
私が抱えている問題は、画像がプログラムに表示されないという事実です。実行すると、プログラムは空のフレームを生成します。私の推測では、画像ファイルの場所に問題があるに違いありません。
画像に含まれていると思われる本の出版社から.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;
悪いことになる?私の講師が、必要なものを個別にインポートするのではなく、常にすべてをインポートするのが面倒だと思うかどうか考えています。
事前に - ありがとう。