tblMain是个JTabbedPane:    this.getContentPane().add(jPanelMid, BorderLayout.CENTER);
    jPanelMid.add(jSplitPane1, BorderLayout.CENTER);
    jSplitPane1.add(jPanelMap, JSplitPane.LEFT);我现在想通过一个按钮来判断tblMain的隐藏和显示,但是有问题,隐藏可以,但隐藏后就再也显示不出来了,为什么呢?代码如下:
 
 /**
   * 显示/关闭查询面板
   * @param e ActionEvent
   */
  private void btSearch_actionAdapter(ActionEvent e) {
    if (tblMain.isVisible()) { //当前面板已经打开
      tblMain.setVisible(false);
      btSearch.setToolTipText("显示查询面板");
    }
    else { //当前面板已经关闭
      tblMain.setVisible(true);
      btSearch.setToolTipText("关闭查询面板");
    }
  }

解决方案 »

  1.   

    if (tblMain.isVisible()) { //当前面板已经打开
          tblMain.setVisible(false);
          btSearch.setToolTipText("显示查询面板");
          tblMain.invalidate();
        }
        else { //当前面板已经关闭
          tblMain.setVisible(true);
          btSearch.setToolTipText("关闭查询面板");
          tblMain.invalidate();
        }
      

  2.   

    tblMain.getParent().validate()
    or
    tblMain.getParent().revalidate()