java如何将JPanel添加到JFrame?
我正在制作一个雷区游戏。我需要在网格下添加两个按钮,分别在各自的JPanel中清除和完成,但无法确定如何执行。下面是游戏网格的代码。谢谢
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MineField extends JPanel implements ActionListener{
public static void main(String[] args) {
MineField g = new MineField();
JFrame frame = new JFrame("Mine Field");
frame.add(g);
frame.setSize(400,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
private JButton squares[][];
public MineField(){
this.setSize(400,400);
this.setLayout(new GridLayout(5,5));
squares = new JButton[5][5];
buildButtons();
}
int [][] num = new int [5][5];
private void buildButtons(){
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
squares[i][j] = new JButton();
squares[i][j].setSize(400,400);
this.add(squares[i][j]);
}
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
# 1 楼答案
我们可以使用
.add()
方法相互添加组件这有两个实际用途:
或者像梅花形说的那样
# 2 楼答案
默认情况下,JFrame使用BorderLayout
因此,当前您的雷场类被添加到边界布局的中心
如果要在框架上安装另一个面板,可以使用:
阅读Swing教程中关于How to Use BorderLayout的部分,了解更多信息和示例,以更好地了解布局管理器的工作方式
# 3 楼答案
您应该稍微修改一下代码,您可以添加以下几行:
希望有帮助,萨拉姆