package com.mhl.view;import java.awt.*;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;import javax.swing.*;public class Index extends JWindow implements Runnable {

StartPanel sp = null;

public static void main(String args[]) {
Index index = new Index();
new Thread(index).start();
}

public Index() {
sp = new StartPanel();
this.add(sp);
this.setSize(400, 250);
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation(width/2-200, height/2-150);
this.setVisible(true);
} public void run() {
while(true) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
this.dispose();
}
}
}class StartPanel extends JPanel {

String sentence[]={"系","统","正","在","加","载",",","请","稍","候"};
String poetry[]={"满","汉","楼","融","满","汉","精","华","做","天"
,"下","美","味","招","八","方","食","客"};

Image image = Toolkit.getDefaultToolkit().getImage("image/index.jpg");

public void paint(Graphics g) {
Font font = new Font("隶书",Font.BOLD,15);
g.setFont(font);
g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);
g.setColor(Color.BLUE);
g.drawRect(10, 210, 380, 30);
for(int i=0; i<poetry.length; i++) {
int x = 200;
int y = 100;
g.setColor(Color.RED);
if(i<3) {
g.drawString(poetry[i], x, y+15*i);
}
else if(i<8)
g.drawString(poetry[i],x-30,y+15*i-60);
else if(i<13)
g.drawString(poetry[i], x-60, y+15*i-135);
else
g.drawString(poetry[i], x-90, y+15*i-210);
}

for(int i=0; i<sentence.length; i++) {
g.setColor(Color.YELLOW);
g.drawString(sentence[i],100+20*i , 225);
}
}
}

解决方案 »

  1.   

    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));
      }
    }