5つの画像をロードし、FlowLayoutを使用してそれらをフレームに配置する次のコードがあります。
public class Main
{
private static final int verticalGap=50;
private static final int horizontalGap=30;
private static final int width= 800;
private static final int height= 800;
public static void main(String[] args)
{
FlowLayout layout=new FlowLayout(FlowLayout.LEADING,horizontalGap,verticalGap);
JButton button= new JButton("Discard");
ImagePanel[] panels= new ImagePanel[5];
Deck deck= new Deck();
JFrame frame= new JFrame("Poker");
frame.setSize(width, height);
frame.setLayout(layout);
frame.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
deck.mix();
for(int i=0; i<5; i++)
{
panels[i]= new ImagePanel();
panels[i].setImage(deck.getCard(i));
frame.getContentPane().add(panels[i]);
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
コードは5枚のカードをロードし、それらを正しく検出します。
しかし、問題は、フレームにボタンを配置したいということです。このボタンは画面のほぼ中央に配置する必要がありますが、ペインに追加すると、ボタンは水平方向を使用して他のパネルの近くに配置されます。フローレイアウトが設定したギャップ。
パネルの位置を変更せずに絶対位置に配置するにはどうすればよいですか(したがって、フローレイアウトを使用して5つのパネルを追加し、1つのボタンを絶対位置に追加します)。