我有这段代码可以加载 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 个面板,并在绝对位置添加一个按钮)。