本文介绍了JButton setVisible(False)设置回setVisible(True)不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个代码,当我单击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是不可见的。

推荐答案

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

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

这篇关于JButton setVisible(False)设置回setVisible(True)不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 02:24