importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.awt.datatransfer.*;importjava.io.*;publicclassTestextendsJPanel {privatestaticfinallongserialVersionUID=4767050156491994899L;privateJLabel label;privateString scrolledText;publicTest() {
scrolledText="滚动文字 Demo";
label=newJLabel(newString(scrolledText));this.add(label);
Thread thread=newThread(newTextChanger(label));
thread.start();
}//@Override//protected void paintComponent(Graphics g) {//super.paintComponent(g);Graphics2D g2d = (Graphics2D) g;}privatestaticvoidcreateAndShowGUI() {
JFrame frame=newJFrame("Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.getContentPane().add(newTest());
frame.setVisible(true);
}publicstaticvoidmain(String[] args)throwsException {
SwingUtilities.invokeLater(newRunnable() {publicvoidrun() {
Test.createAndShowGUI();
}
});
}
}classTextChangerimplementsRunnable {privateJLabel label;publicTextChanger(JLabel label) {this.label=label;
}publicvoidrun() {try{while(true) {
String text=label.getText();if(text.length()>1) {
text=text.substring(1, text.length())+text.charAt(0);
label.setText(text);//Get the frameComponent frame=SwingUtilities.getRoot(label);if(frame!=null&&(frameinstanceofJFrame)) {
((JFrame)frame).setTitle(text);
}
label.repaint();
}
Thread.sleep(300);
}
}catch(InterruptedException ex) {
ex.printStackTrace();
}
}
}