当前位置:  开发笔记 > 编程语言 > 正文

点击按钮后如何自动重新绘制?

如何解决《点击按钮后如何自动重新绘制?》经验,为你挑选了1个好方法。

单击一个按钮后,我想要JPanel删除一些要删除的组件,并创建一些新的组件.

我能够删除并添加新的,但JPanel不会重新绘制自己.只有在我手动执行某些操作后,例如更改框架大小,框架才会"刷新",我得到了我想要的东西.

这是代码的相关部分,在此示例中,它按给定日期启动组件:

private ClassName() {
    date = Date.getToday();
    init(date.toString());
}

private void lastDayActionPerformed(ActionEvent evt) {                                        
    this.removeAll();
    date = date.getYesterday();
    init(date.toString());
}

Hovercraft F.. 5

如果您希望组件在按下按钮后重新布局和重新绘制,并且在修改了GUI的状态之后,则直接在ActionListener的代码中调用:

private void lastDayActionPerformed(ActionEvent evt) {
    this.removeAll();
    date = date.getYesterday();
    init(date.toString());
    revalidate();  // re-lays out child components
    repaint();    // repaints the component
}  

但是,听起来你真的想要使用CardLayout为你交换视图,因为这正是为这个类创建的.



1> Hovercraft F..:

如果您希望组件在按下按钮后重新布局和重新绘制,并且在修改了GUI的状态之后,则直接在ActionListener的代码中调用:

private void lastDayActionPerformed(ActionEvent evt) {
    this.removeAll();
    date = date.getYesterday();
    init(date.toString());
    revalidate();  // re-lays out child components
    repaint();    // repaints the component
}  

但是,听起来你真的想要使用CardLayout为你交换视图,因为这正是为这个类创建的.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有