请问一下 一个JAVA SWING的程序 在执行中 往界面添加了一个JLabel 我调用了repaint函数 不能显示出来,但是我最小化窗口然后还原 就能显示出来
这个过程中执行了什么函数才使得添加的JLabel显示出来的呢
或者有没有别的方法不用最小化然后还原 让添加的JLabel就能显示出来的
------解决方案--------------------
将repaint()方法换位valide()就可以了
- Java code
@Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub JLabel jl = new JLabel("new Label"); panel.add(jl, BorderLayout.NORTH); panel.validate();// panel.repaint();// 在这几句代码里面添加的JLabel无法显示 要最小化 然后还原就能显示 }
------解决方案--------------------
panel.repaint();
的前面加一句
panel.revalidate();
试试