为了账号安全,请及时绑定邮箱和手机立即绑定

Java Swing JPanel 放在其他面板后面而不是替换它

Java Swing JPanel 放在其他面板后面而不是替换它

慕慕森 2022-05-21 14:09:01
我正在做一个需要日历的项目;是的,我正在从头开始制作日历:)。我已经设置好了日历部分,现在我正在处理上个月和下个月的按钮。现在,我正在实施上个月,当我点击按钮时,上个月确实出现了,但是它显示在当前月份之后,而不是像你想象的那样替换它。起初我没有看到它发生任何事情,所以我查看了我的代码并再次运行它。这一次,把窗口做得更大;那是我看到上个月落后于本月的时候。
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

您需要从框架中删除上一个面板,如下所示:


private void InitCal(Month month, int year) {

  if(calPanel!= null){

    this.remove(calPanel);

    this.revalidate();

}

...

最后,您需要在添加新月份面板后重新验证框架,如下所示:


...

this.add(calPanel);

this.revalidate(); // You need to revalidate to component to see the changes.

}


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信