Kali ini ane akan coba share tentang pembuatan animasi teks/object yang berputar layaknya jarum jam.
Pada animasi ini teks/object akan diberi fungsi rotate yang berguna untuk memutar teks/object.
Untuk kecepatan dan jarak putar bisa diatur pada fungsi threadnya..
hal yang harus diingat adalah nilai dari integer harus diubah menjadi radian agar perputaran teks / object bisa teratur.
Langsung saja pada penerapan.
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 animasiText4 extends JPanel {
//Membuat variabel thread
Thread animasi;
int x=10,y=10,a=0, batas =50;
// <editor-fold defaultstate="collapsed" desc="Coret2dinding.blogspot.com">
public animasiText4() {
setPreferredSize(new Dimension(600, 600));
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 mengubah nilai angle">
if(a<360){
a=a+2;
}else{
a=0;
}
// </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(0,0,255));
g2.rotate(Math.toRadians(a),300,300);
g2.drawString("Coret2dinding.blogspot.com", 300, 300);
}
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 animasiText4());
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
// </editor-fold>
public static void main(String salis[]) {
new animasiText4().xplay();
}
}
untuk mendownload file java nya bisa dilihat disini.
apabila ada yang kurang jelas bisa tinggalkan pesan.
--semoga membantu--
2 comments:
good your blog
masih belajaran sobat..
coba share yg gw bisa j! :)
Post a Comment