1

gridLayout を作成して画像で埋めようとしていますが、どこが間違っていますか?

ImageIcon grassIcon = new ImageIcon("images/grass_tile.jpg"); 
JPanel panel = new JPanel(new GridLayout(haps,snaps,0,0));

JLabel labels[] = new JLabel[(haps*snaps)];

for (int i =  0; i < haps*snaps; i++)
{
    labels[i] = new JLabel(grassIcon);
    panel.add(labels[i]);
}

frame.add(panel);
4

3 に答える 3

1

frame.setVisible(true);を使用してフレームを表示します。

ImageIcon grassIcon = new ImageIcon("images/grass_tile.jpg"); 
JPanel panel = new JPanel(new GridLayout(haps,snaps,0,0));

JLabel labels[] = new JLabel[(haps*snaps)];

for (int i =  0; i < haps*snaps; i++)
{
      labels[i] = new JLabel(grassIcon );
      panel.add(labels[i]);
}

frame.add(panel);
frame.pack();
frame.setVisible(true);
于 2013-01-28T09:48:10.457 に答える
1

画像パスが正しいかどうかを確認してください。または、実際に画像を表示できるかどうかをテストするために、絶対パスにしてみてください。また、そこに問題を詳しく説明してください。

于 2013-01-28T09:34:16.090 に答える
1

ben75 が書いているように、frame.pack(); が必要でした。彼に信用を!

于 2013-01-28T09:34:30.753 に答える