Java Can';无法显示我的JButton

Java Can';无法显示我的JButton,java,swing,user-interface,jbutton,Java,Swing,User Interface,Jbutton,我正在编写一个迷宫程序,在迷宫GUI上运行鼠标。我不知道每次程序循环时如何将GUI中的现有按钮更新为新颜色 我想我可以在现有按钮的上方添加一个新按钮。只要问我您是否想查看GUI代码 我尝试将新按钮添加到已有的内容窗格中,但我怀疑在按钮顶部添加按钮会弄乱GUI,这一点正在得到更新。原因是当我运行代码时,按钮屏幕倾斜 下面是我正在使用的三种方法 这是我想我能做的,但它不起作用。我想我可以将更新后的行和列传递给drawRat()方法。该按钮显示在GUI中,但它倾斜并拆分了我现有的按钮布局 publi

我正在编写一个迷宫程序,在迷宫GUI上运行鼠标。我不知道每次程序循环时如何将GUI中的现有按钮更新为新颜色

我想我可以在现有按钮的上方添加一个新按钮。只要问我您是否想查看GUI代码

我尝试将新按钮添加到已有的内容窗格中,但我怀疑在按钮顶部添加按钮会弄乱GUI,这一点正在得到更新。原因是当我运行代码时,按钮屏幕倾斜

下面是我正在使用的三种方法

这是我想我能做的,但它不起作用。我想我可以将更新后的行和列传递给
drawRat()
方法。该按钮显示在GUI中,但它倾斜并拆分了我现有的按钮布局

 public static String update(String toMaze){
        char [] newPos = toMaze.toCharArray();
        int x = 10;
        int y = 1;

        if (newPos [1] == 'r'){
             y--;
        }
        if (newPos [3] == 'r'){
             x--;
        }
        if (newPos [5] == 'r'){
             x++;
        }
        if (newPos [7] == 'r'){
             y++;
        }

        Maze.drawRat(x,y);
这是
drawRat()
方法。我想我应该说,我将JFrame和内容窗格作为
static
移动到类构造函数中,以便整个程序都有作用域。所以
c.add()
引用了这个

 public static void drawRat(int b, int r){

        JButton rat = new JButton();
        rat.setBackground(Color.GREEN);
        rat.setOpaque(true);
        rat.setBorderPainted(false);
        c.add(rat);
        rat.setVisible(true);
        rat.setLocation(b, r);
        rat.setSize(10,10);

您在何处将JButton添加到容器中?您是否已将JButton添加到某个父组件中?哈!没有,但我想知道它第一次起作用了吗?设置
大小
位置
只有在使用非常不推荐的
null
布局时才起作用。您可能还需要(在实际添加按钮后)调用
revalidate
repaint
为什么不在启动时添加按钮,但将其设置为禁用,直到相关为止?