当前位置:编程学习 > JAVA >>

求助??怎么实现闪屏,就是让字一个一个的慢慢出现

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);
}
}
} --------------------编程问答--------------------


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));
  }
}
--------------------编程问答-------------------- --------------------编程问答-------------------- 我是来观摩LS代码的
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,