jbutton setVisible(false)设置回setVisible(true)不起作用

时间:2016-03-15 16:41:24

标签: java eclipse jbutton grid-layout visible

我有一个代码,当我单击jButton时,它应该设置为不可见,而另一个已设置为FALSE的JButton应为TRUE,setVisible(true)不起作用。

buttonGrid[row][col] = new JButton();
add(buttonGrid[row][col]);
buttonGrid[row][col].setVisible(false);

当我设置为false并且设置回true时,该代码有效。它无法正常工作

JButton selectedBtn = (JButton) evt.getSource();
            selectedBtn.setVisible(true);

            for (int row = 0; row < buttonGrid.length; row++) {
                for (int col = 0; col < buttonGrid[row].length; col++) {

                    if(buttonGrid[row][col] == selectedBtn){
                        if ((row-1)>=0 && !buttonGrid[row - 1][col].isVisible()) {
                            System.out.println("1");
                            int c = row-1;

                            buttonGrid[c][col] = selectedBtn;
                            buttonGrid[c][col].setVisible(true);
                            buttonGrid[row][col].setVisible(false);
                        }
                            *
                            *
                            *

我想要的是我尝试点击按钮编号2.按钮编号3应该是可见的,按钮编号2是不可见的。

1 个答案:

答案 0 :(得分:1)

您必须使用以下方法刷新JPanel

  • panel.revalidate();
  • panel.repaint();