チェス盤 (8x8 グリッド) を作成して背景の正方形で埋めようとしていますが、常に空の正方形のグリッドとして表示されます。画像が呼び出されemptysquare.jpgますが、背景色があります。
JButton私が持っているグリッドに画像を正しく追加するにはどうすればよいですか?
チェス盤が空である理由は、パネルにボタンを追加するJFrame#setVisible 前に呼び出すという事実によるものです。ChessSquareこの呼び出しを行う前に、すべてのコンポーネントが追加されていることを確認してください。
また、Iconこのようなものを設定しますChessSquare
ImageIcon empty = ...
setIcon(empty);
setIcon( empty )コンストラクターを呼び出す必要があります。
正方形が追加される前に呼び出すことは許可されていますが、厄介ですがsetVisible( )、そうすると、レイアウトを正しくするために再パックする必要がある場合があります。
への呼び出しsetLayout( )は、ループの前に移動する必要があります。