62,621
社区成员
发帖
与我相关
我的任务
分享
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.UIManager;
/**
*
* @date 23/11/2012
*/
public class TextDemo extends JPanel implements ActionListener {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
JFrame f = new JFrame("Demo");
TextDemo demo = new TextDemo("就是让字一个一个的慢慢出现");
f.getContentPane().add(demo, BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
new Timer(500, demo).start();
}
});
}
private String text;
private int len;
private JTextField field;
public TextDemo(String text) {
if( text == null )
throw new NullPointerException();
this.text = text;
this.len = 0;
this.field = new JTextField(text.length() * 2);
this.field.setEditable(false);
add(field);
}
@Override
public void actionPerformed(ActionEvent e) {
len = (len + 1) % (text.length()+1);
field.setText(text.substring(0, len));
}
}