これを読んでくれてありがとう。紛らわしくないことを願っています。他の情報が必要な場合はお知らせください。
問題: Snake のようなゲームを作成しており、JFrame を作成してから JPanel を追加しました。JFrame でサイズを設定しないと、サイズは約 100 x 20 になります。サイズを設定すると、設定された寸法のままになります。ただし、pack() すると、JPanel でサイズを定義すると、100 x 20 程度に縮小されます。私も境界を設定しましたが、運がありません。私は FlowLayout() と BorderLayout() を使用しましたが、どちらも成功しませんでした。現在、私のゲームは正しく動作し、フレームを除いて問題はありません。私がやりたくない体操をしない限り、それは側面を切り落とします.
目的: 指定した幅と高さに合わせてフレーム サイズを正しく設定し、パネルを少し下に移動してゲームのテキスト用のスペースを追加し、何もブロックしないようにしたいと考えています。
基本的に、私はこれに数日を費やしたことに混乱し、慌てており、これまでのところ何も成功していません.
JFrame クラス:
public class main extends JFrame {
/**
* @param args the command line arguments
*/
public main(){
Board game = new Board();
setLayout(new BorderLayout(0, 50));
setSize(game.getGameWidth(), game.getGameHeight());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setTitle("BlockRunner");
getContentPane().add(game);
setResizable(false);
setVisible(true);
}
}
私のボードクラス:
public class Board extends JPanel implements ActionListener, KeyListener{
private int width = 600;
private int height = 400;
Board(){
addKeyListener(this);
setFocusable(true);
setBackground(Color.LIGHT_GRAY);
setSize(width, height);
InitGame();
}
}
私は、誰かが私のために喜んで出してくれるものなら何でも試してみたいと思っています. お時間をいただきありがとうございます!
編集 1: (ユーザーの回答による) setPerferredSize()、setMinmumSize()、および setMaximumSize() を使用しても、この結果には影響しません。