有用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);
就可以了