我正在尝试为井字游戏制作界面。我正在为我的 9 个字段使用 JLabels 方法。程序中没有错误,但有一些我不知道该怎么做。请阅读下面我的问题&请给我建议
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
public class ticTac extends JFrame
{
static JLabel label0 = new JLabel();
static JLabel label1 = new JLabel();
static JLabel label2 = new JLabel();
static JLabel label3 = new JLabel();
static JLabel label4 = new JLabel();
static JLabel label5 = new JLabel();
static JLabel label6 = new JLabel();
static JLabel label7 = new JLabel();
static JLabel label8 = new JLabel();
static JLabel[] choiceLabel = new JLabel[9];
static ImageIcon burger = new ImageIcon("Cross.jpg");
public static void main(String []args)
{
new ticTac().show();
}
public ticTac()
{
setVisible(true);
setSize(450,450);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints myGrid = new GridBagConstraints();
GridBagConstraints gridConstraints;
choiceLabel[0] = label0;
choiceLabel[1] = label1;
choiceLabel[2] = label2;
choiceLabel[3] = label3;
choiceLabel[4] = label4;
choiceLabel[5] = label5;
choiceLabel[6] = label6;
choiceLabel[7] = label7;
choiceLabel[8] = label8;
此方法在水平行中绘制从 1 到 9 的标签,所以我不希望这样,我希望我的程序将在一行中绘制三个框,在第二行中绘制三个框和三个框。请帮我。
for (int i = 0; i < 9; i++)
{
gridConstraints = new GridBagConstraints();
choiceLabel[i].setPreferredSize(new Dimension(burger.getIconWidth(), burger.getIconHeight()));
choiceLabel[i].setOpaque(true);
choiceLabel[i].setBackground(Color.RED);
gridConstraints.gridx = i;
gridConstraints.gridy = 0;
gridConstraints.insets = new Insets(10, 10, 10, 10);
getContentPane().add(choiceLabel[i], gridConstraints);
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds((int) (0.5 * (screenSize.width - getWidth())), (int) (0.5 * (screenSize.height - getHeight())), getWidth(), getHeight());
}
}
}