Java Jpanel中缺少Jbutton行

Java Jpanel中缺少Jbutton行,java,swing,layout,jframe,jbutton,Java,Swing,Layout,Jframe,Jbutton,有人能告诉我为什么JFrame缺少一排按钮吗?我正在尝试制作一个记忆卡游戏,你点击按钮,它被一个图像取代,但是一些按钮没有出现?我想这和我的布局有关。应该有4x4个可点击的按钮 packagememorycard; 导入java.awt.*; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 导入java.awt.image.buffereImage; 导入java.io.File; 导入java.io.IOExcep

有人能告诉我为什么JFrame缺少一排按钮吗?我正在尝试制作一个记忆卡游戏,你点击按钮,它被一个图像取代,但是一些按钮没有出现?我想这和我的布局有关。应该有4x4个可点击的按钮

packagememorycard;
导入java.awt.*;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.awt.image.buffereImage;
导入java.io.File;
导入java.io.IOException;
导入java.net.URISyntaxException;
导入javax.imageio.imageio;
导入javax.swing.*;
公共类游戏板{
public void newGame()引发IOException
{
//主框架
JFrame mainFrame=新的JFrame(“瓦格纳的内存”);
mainFrame.setSize(800650);
mainFrame.setLocationRelativeTo(空);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setVisible(true);
//钮扣
JButton a1=新JButton(“”);
JButton a2=新JButton(“”);
JButton a3=新JButton(“”);
JButton a4=新JButton(“”);
JButton b1=新JButton(“”);
JButton b2=新JButton(“”);
JButton b3=新JButton(“”);
JButton b4=新JButton(“”);
JButton c1=新JButton(“”);
JButton c2=新JButton(“”);
JButton c3=新JButton(“”);
JButton c4=新JButton(“”);
JButton d1=新JButton(“”);
JButton d2=新JButton(“”);
JButton d3=新JButton(“”);
JButton d4=新JButton(“”);
//图像
//penguin.jpg(a1和d3)
//jax.jpg(a2和c1)
字符串pathJ=“jax.jpg”;
文件fileJ=新文件(路径j);
buffereImage jax=ImageIO.read(fileJ);
ImageIcon imgJ=新的ImageIcon(jax);
//blink.jpg(a3和d4)
字符串pathB=“blink.jpg”;
文件fileB=新文件(路径b);
BuffereImage blink=ImageIO.read(文件B);
ImageIcon imgB=新的ImageIcon(闪烁);
//mona.jpg(a4和c4)
字符串pathM=“mona.jpg”;
文件fileM=新文件(路径m);
BuffereImage mona=ImageIO.read(fileM);
ImageIcon imgM=新的ImageIcon(mona);
//啤酒(b1和c2)
字符串pathBeer=“beer.jpg”;
File fileBeer=新文件(pathBeer);
BuffereImage beer=ImageIO.read(fileBeer);
ImageIcon imgBeer=新的ImageIcon(啤酒);
//jesus.jpg(b2和c3)
字符串pathJes=“jesus.jpg”;
File fileJes=新文件(pathJes);
BuffereImage jesus=ImageIO.read(fileJes);
ImageIcon imgJes=新的ImageIcon(耶稣);
//bball.png(b4和d2)
字符串pathb=“bball.png”;
文件fileBB=新文件(路径bb);
BuffereImage bball=ImageIO.read(文件BB);
ImageIcon imgBB=新的ImageIcon(bball);
//cullen.jpg(b3和d1)
字符串pathC=“cullen.jpg”;
文件fileC=新文件(pathC);
BuffereImage cullen=ImageIO.read(fileC);
ImageIcon imgC=新的ImageIcon(cullen);
//杰帕内尔斯
JPanel panel1=新的JPanel(新的BorderLayout());
面板1.添加(a1,边框布局。中心);
JPanel panel2=新的JPanel(新的BorderLayout());
面板2.添加(a2,边框布局。中心);
JPanel panel3=新的JPanel(新的BorderLayout());
面板3.添加(a3,边框布局。中间);
JPanel panel4=新的JPanel(新的BorderLayout());
面板4.添加(a4,边框布局,中间);
JPanel panel5=新的JPanel(新的BorderLayout());
面板5.添加(b1,边框布局。中间);
JPanel panel6=新的JPanel(新的BorderLayout());
面板6.添加(b2,边框布局。中间);
JPanel panel7=新的JPanel(新的BorderLayout());
面板7.添加(b3,BorderLayout.CENTER);
JPanel panel8=新的JPanel(新的BorderLayout());
面板8.添加(b4,边框布局。中心);
JPanel panel9=新的JPanel(新的BorderLayout());
面板9.添加(c1,边框布局。中间);
JPanel panel10=新的JPanel(新的BorderLayout());
面板10.添加(c2,边界布局。中心);
JPanel panel11=新的JPanel(新的BorderLayout());
面板11.添加(c3,边框布局。中间);
JPanel panel12=新的JPanel(新的BorderLayout());
面板12.添加(c4,边框布局。中间);
JPanel panel13=新的JPanel(新的BorderLayout());
面板13.添加(b1,边框布局。中间);
JPanel panel14=新的JPanel(新的BorderLayout());
面板14.添加(b2,边框布局。中间);
JPanel panel15=新的JPanel(新的BorderLayout());
面板15。添加(b3,边框布局。中间);
JPanel panel16=新的JPanel(新的BorderLayout());
面板16.添加(b4,边框布局。中间);
//容器&添加
容器内容=mainFrame.getContentPane();
content.setLayout(新的GridLayout(4,4));
添加内容(第1组);
添加内容(第2组);
添加内容(第3组);
添加内容(第4组);
添加内容(第5组);
添加内容(第6组);
添加内容(第7组);
添加内容(第8组);
添加内容(第9组);
添加内容(第10组);
增加内容(第11小组);
添加内容(第12组);
添加内容(第13组);
添加内容(第14组);
增加内容(第15组);
增加内容(第16小组);
content.setVisible(true);
//排列
JButton buttonArray1[]={a1、a2、a3、a4、b1、b2、b3、b4、c1、c2、c3、c4、d1、d2、d3、d4};
对于(int i=0;ipackage memoryCard;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;

import javax.imageio.ImageIO;
import javax.swing.*;

public class gameBoard {

    public void newGame() throws IOException

    {
        //MAIN FRAMES
        JFrame mainFrame = new JFrame("Wagner's Memory");
        mainFrame.setSize (800, 650);
        mainFrame.setLocationRelativeTo(null);
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setVisible(true);

        //Buttons
        JButton a1 = new JButton("");
        JButton a2 = new JButton("");
        JButton a3 = new JButton("");
        JButton a4 = new JButton("");
        JButton b1 = new JButton("");
        JButton b2 = new JButton("");
        JButton b3 = new JButton("");
        JButton b4 = new JButton("");
        JButton c1 = new JButton("");
        JButton c2 = new JButton("");
        JButton c3 = new JButton("");
        JButton c4 = new JButton("");
        JButton d1 = new JButton("");
        JButton d2 = new JButton("");
        JButton d3 = new JButton("");
        JButton d4 = new JButton("");

        //images

        //penguin.jpg (a1 & d3)



        //jax.jpg (a2 & c1)

        String pathJ = "jax.jpg";
        File fileJ = new File(pathJ);
        BufferedImage jax = ImageIO.read(fileJ);
        ImageIcon imgJ = new ImageIcon(jax);

        //blink.jpg(a3 & d4)
        String pathB = "blink.jpg";
        File fileB = new File(pathB);
        BufferedImage blink = ImageIO.read(fileB);
        ImageIcon imgB = new ImageIcon(blink);


        //mona.jpg(a4 & c4)
        String pathM = "mona.jpg";
        File fileM = new File(pathM);
        BufferedImage mona = ImageIO.read(fileM);
        ImageIcon imgM = new ImageIcon(mona);

        //beer.jpg(b1 & c2)
        String pathBeer = "beer.jpg";
        File fileBeer = new File(pathBeer);
        BufferedImage beer = ImageIO.read(fileBeer);
        ImageIcon imgBeer = new ImageIcon(beer);

        //jesus.jpg(b2 & c3)
        String pathJes = "jesus.jpg";
        File fileJes = new File(pathJes);
        BufferedImage jesus = ImageIO.read(fileJes);
        ImageIcon imgJes = new ImageIcon(jesus);


        //bball.png(b4 & d2)
        String pathBB = "bball.png";
        File fileBB = new File(pathBB);
        BufferedImage bball = ImageIO.read(fileBB);
        ImageIcon imgBB = new ImageIcon(bball);


        //cullen.jpg(b3 & d1)
        String pathC = "cullen.jpg";
        File fileC = new File(pathC);
        BufferedImage cullen = ImageIO.read(fileC);
        ImageIcon imgC = new ImageIcon(cullen);


        //jpanels

        JPanel panel1 = new JPanel(new BorderLayout());
        panel1.add(a1, BorderLayout.CENTER);
        JPanel panel2 = new JPanel(new BorderLayout());
        panel2.add(a2, BorderLayout.CENTER);
        JPanel panel3 = new JPanel(new BorderLayout());
        panel3.add(a3, BorderLayout.CENTER);
        JPanel panel4 = new JPanel(new BorderLayout());
        panel4.add(a4, BorderLayout.CENTER);
        JPanel panel5 = new JPanel(new BorderLayout());
        panel5.add(b1, BorderLayout.CENTER);
        JPanel panel6 = new JPanel(new BorderLayout());
        panel6.add(b2, BorderLayout.CENTER);
        JPanel panel7 = new JPanel(new BorderLayout());
        panel7.add(b3, BorderLayout.CENTER);
        JPanel panel8 = new JPanel(new BorderLayout());
        panel8.add(b4, BorderLayout.CENTER);
        JPanel panel9 = new JPanel(new BorderLayout());
        panel9.add(c1, BorderLayout.CENTER);
        JPanel panel10 = new JPanel(new BorderLayout());
        panel10.add(c2, BorderLayout.CENTER);
        JPanel panel11 = new JPanel(new BorderLayout());
        panel11.add(c3, BorderLayout.CENTER);
        JPanel panel12 = new JPanel(new BorderLayout());
        panel12.add(c4, BorderLayout.CENTER);
        JPanel panel13 = new JPanel(new BorderLayout());
        panel13.add(b1, BorderLayout.CENTER);
        JPanel panel14 = new JPanel(new BorderLayout());
        panel14.add(b2, BorderLayout.CENTER);
        JPanel panel15 = new JPanel(new BorderLayout());
        panel15.add(b3, BorderLayout.CENTER);
        JPanel panel16 = new JPanel(new BorderLayout());
        panel16.add(b4, BorderLayout.CENTER);

        //CONTAINER & ADDS
        Container content = mainFrame.getContentPane();
        content.setLayout(new GridLayout(4,4));
        content.add(panel1);
        content.add(panel2);
        content.add(panel3);
        content.add(panel4);
        content.add(panel5);
        content.add(panel6);
        content.add(panel7);
        content.add(panel8);
        content.add(panel9);
        content.add(panel10);
        content.add(panel11);
        content.add(panel12);
        content.add(panel13);
        content.add(panel14);
        content.add(panel15);
        content.add(panel16);

        content.setVisible(true);


        //ARRAY
        JButton buttonArray1 [] = {a1, a2, a3, a4,  b1, b2, b3, b4, c1, c2, c3, c4, d1, d2, d3, d4};


        for (int i = 0; i < buttonArray1.length; i++) {
              buttonArray1[i].addActionListener(new ActionListener() { //add an action listener to the current button
               @Override
               public void actionPerformed(ActionEvent e) 
               {
                   int d = 0;
                   d++;

                if (e.getSource() == a1) 
                    {

                        try {
                        String pathP = "penguin.jpg";
                        File fileP = new File(pathP);
                        BufferedImage peng;

                            peng = ImageIO.read(fileP);

                        ImageIcon imgP = new ImageIcon(peng);

                        JLabel imgLabel = new JLabel(imgP);
                        panel2.add(imgLabel);
                        content.add(panel1);
                        panel1.revalidate();
                        panel1.repaint();
                        } catch (IOException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }

                    }

               }


              });
        }
    }
    public class wtf extends JPanel{
        @Override
       protected void paintComponent(Graphics g) {

          super.paintComponent(g);

       }
        }
}