Meskipun pembuatan animasi ini sangat simpel tapi effect dari teks yang dihasilkan cukup keren.
Tidak sabar untuk melihatnya..
langsung saja dicoba sendiri,
berikut source codenya:
/*
* email : d_iennitial@yahoo.com
* blog : Coret2dinding.blogspot.com
* twitter : #iennitial_AK
* Facebook : /salis.ahmad
* @author Ahmad Salis A. Khitam
*/
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class animasiText extends JPanel {
//Membuat variabel thread
Thread animasi;
int x=10,y=10,a=10, batas = 240;
// <editor-fold defaultstate="collapsed" desc="Coret2dinding.blogspot.com">
public animasiText() {
setPreferredSize(new Dimension(500, 300));
setBackground(Color.black);
setFocusable(true);
requestFocusInWindow();
initThread();
//untuk memulai thread
animasi.start();
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
drawText(g2);
}
//method untuk menampung thread
public void initThread() {
animasi = new Thread(new Runnable() {
public void run() {
while (true) {
// <editor-fold defaultstate="collapsed" desc="Untuk mengacak warna">
if(a<batas){
a=a+15;
batas=240;
}else{
a=a-15;
batas=15;
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="menggerakkan text">
x=(int)(Math.random()*10);
y=(int)(Math.random()*10);
// </editor-fold>
try {
//untuk mengatur kecepatan thread, semakin kecil nilai semakin cepat
Thread.sleep(50);
} catch (Exception e) {
}
//untuk memanggil repaint
SwingUtilities.invokeLater(new Runnable() {
public void run() {
repaint();
}
});
}
}
});
}
public void drawText(Graphics2D g2) {
g2.setFont(new Font("Calibri", 1, 25));
g2.setColor(new Color((int)(Math.random()*250), (int)(Math.random()*250), (int)(Math.random()*250), a));
g2.drawString("Coret2dinding.blogspot.com", 100+x, 100+y);
}
public void xplay() {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
final JFrame frame = new JFrame("Animasi Text");
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
frame.add(new animasiText());
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
// </editor-fold>
public static void main(String salis[]) {
new animasiText().xplay();
}
}
untuk mendownload file java nya bisa dilihat disini.
apabila ada yang kurang jelas bisa tinggalkan pesan.
--semoga membantu--
No comments:
Post a Comment