Setelah tadi posting artikel tentang dasar-dasar Thread serta contoh program dasarnya, sekarang selanjutnya kami akan bahas tentang animasi-animasi dengan menggunakan Thread.
Pada artikel ini akan dibahas tentang cara pembuatan animasi Text yang bisa berubah warna secara random.
Dan pada postingan selanjutnya akan kami bahas tentang animasi animasi yang lain.
langsung saja pada source codenya..
Kalau ingin mengkopi dipersilahkan, bahkan dianjurkan, :)
/*
* 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 animasiText2 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 animasiText2() {
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) {
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)));
g2.drawString("Coret2dinding.blogspot.com", 100, 100);
}
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 animasiText2());
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
// </editor-fold>
public static void main(String salis[]) {
new animasiText2().xplay();
}
}
Kalau ada yang masih kurang jelas silahkan tinggalkan komentar.
--Semoga Membantu--
0 comments:
Post a Comment