Java 摆动-交换和隐藏窗格玻璃不起作用-窗格玻璃仍可见

Java 摆动-交换和隐藏窗格玻璃不起作用-窗格玻璃仍可见,java,swing,jpanel,glasspane,Java,Swing,Jpanel,Glasspane,我正在尝试构建一个Swing应用程序,如果没有用户登录,它会将登录面板显示为glasspane。若我试图隐藏登录窗格,它将保持可见,但不会对任何用户交互做出反应 你看到这里有什么问题吗 public类HauptFrame实现SessionListener{ 私有静态最终长serialVersionUID=7985854311368619704L; 公共框架(){ 初始化(); } 公共无效初始化(){ Session.get().addSessionListener(此); 设置大小(10247

我正在尝试构建一个Swing应用程序,如果没有用户登录,它会将登录面板显示为glasspane。若我试图隐藏登录窗格,它将保持可见,但不会对任何用户交互做出反应

你看到这里有什么问题吗

public类HauptFrame实现SessionListener{
私有静态最终长serialVersionUID=7985854311368619704L;
公共框架(){
初始化();
}
公共无效初始化(){
Session.get().addSessionListener(此);
设置大小(1024768);
setVisible(真);
开始检查();
}
公共无效开始检查(){
如果(!DatabaseManager.doesConfigExist()){
setNewGlassPane(新的SetupGlassPanel(本));
}
else if(新UserDAO().getAllUser().size()=0){
setNewGlassPane(新的FirstUserGlassPane(本));
}
else if(Session.get().getUser()==null){
setNewGlassPane(新登录LassPanel());
}否则{
setNewGlassPane(空);
}
}
公共void setNewGlassPane(JPanel glassPane){
如果(玻璃窗格!=null){
getGlassPane().setVisible(false);
玻璃板(玻璃板);
getGlassPane().setVisible(true);
}
否则{
if(getGlassPane().isVisible()){
getGlassPane().setVisible(false);
}
}
}
@凌驾
public void userSignedIn(用户){
removeAll();
开始检查();
}
@凌驾
public void userSignedOff(){
开始检查();
}
你看到这里有什么问题吗

  • GlassPane不使用KeyEvents
  • 必须将KeyListener添加到添加到GlassPane的JComponent中,并覆盖consume()
  • MouseeEvents仅在覆盖JPanel或另一个JComponent(层次结构上的顶级组件)的区域中使用
  • 添加覆盖whore根窗格区域的JLabel(默认为透明),向JLabel添加适当的LayoutManager,然后放置JPanel或
  • 从JFrame.getRootPane调用GlassPane

问题是
public void userSignedIn(User User){removeAll();
有人能解释一下为什么会出现这种情况吗?