Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaSwing中重新绘制面板_Java_Swing_Panel_Repaint - Fatal编程技术网

在JavaSwing中重新绘制面板

在JavaSwing中重新绘制面板,java,swing,panel,repaint,Java,Swing,Panel,Repaint,我正在开发任务调度软件,到目前为止进展顺利,除了一件事——我的面板有时不会被重新绘制。我现在正在开发日历可视化界面,我用面板表示不同的日期,事件由“日期”面板中的其他面板表示。我有一份任命名单: ArrayList<JPanel> appPanelList = new ArrayList<JPanel>(); “和其他”按钮删除此约会: btnDeleteApp.addActionListener(new ActionListener() {

我正在开发任务调度软件,到目前为止进展顺利,除了一件事——我的面板有时不会被重新绘制。我现在正在开发日历可视化界面,我用面板表示不同的日期,事件由“日期”面板中的其他面板表示。我有一份任命名单:

 ArrayList<JPanel> appPanelList = new ArrayList<JPanel>();
“和其他”按钮删除此约会:

btnDeleteApp.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                panel_days.remove(appPanelList.get(0));
                panel_days.repaint();
            }
        });

现在,当我点击“Btnadapp”时,它会将约会面板添加到另一个面板(面板天数),但在调整窗口大小或执行其他操作之前,我无法看到它。一旦开始调整窗口大小,约会面板就会出现。这只会在我第一次添加约会时发生。如果我单击“btnDeleteApp”按钮,它会删除约会和重新绘制屏幕,然后如果我再次尝试添加约会,它现在也可以工作,面板会立即重新绘制,它只会在第一次创建“appPanelList.get(0)”时重新绘制失败。为什么会发生这种情况?

重新绘制之前调用
revalidate
当您完成更新(从中添加/删除组件)uHanks后,爱一行修复!!!“我有一份任命名单:“请使用
JList
!”!
btnDeleteApp.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                panel_days.remove(appPanelList.get(0));
                panel_days.repaint();
            }
        });