当前位置: 代码迷 >> Eclipse >> 让一个JLabel短暂在一个JButton上面显示个三秒,而且微微移动,如何做
  详细解决方案

让一个JLabel短暂在一个JButton上面显示个三秒,而且微微移动,如何做

热度:25   发布时间:2016-04-23 00:33:56.0
让一个JLabel短暂在一个JButton上面显示个三秒,而且微微移动,怎么做?
有用swing的朋友么?我想让一个JLabel短暂在一个JButton上面显示个三秒,而且微微移动,怎么做?


如果我是仅仅new一下,那么是不是这个东西会永久驻留内存?
是不是要把它放到一个List里面然后到可以的时候把它=null

另外我有一个弹出对话框,按确定就可以了

import javax.swing.JOptionPane;

public class Jmsgbox extends JOptionPane{
public Jmsgbox(String messageText)
{
showMessageDialog(this, messageText);
}
}


这个是不是如果多了也会吃内存?虽然现在的内存对这些东西来说小意思
但我仍想回收部分做得好一点,不留下各种烂摊子
------解决方案--------------------


import javax.swing.Timer;


public class TimedLabel {

JLabel jl = new JLabel();
public TimedLabel(JPanel jp,int locx,int locy,String alt,int seconds) 
{
jl.setText(alt);
jl.setLocation(locx,locy);
jl.setSize(alt.length()*10,20);
jl.setVisible(true);
jp.add(jl);
Timer timer = new Timer(seconds*1000, new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {
jl.setVisible(false);
}
});
timer.start();
}
}



Timer用Swing.Timer,其他的随意了
用的时候
TimedLabel tl=new TimedLabel(arguments);
就可以了