Anda di halaman 1dari 3

Dasar-dasar Thread

17:14 Salis Ahmad

Assalamu`alaikum,... wah sudah lama ane ga posting.. itu semua dikarenakan terlalu banyak tugas sampai-sampai ga bisa buka blog.. pada kesempatan ini saya akan bagi-bagi tips dan tutorial tentang bahasa pemrograman java khususnya pada grafika komputer dengan menggunakan Thread. pengenalan dulu tentang Thread. Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren.(wiki) langsung saja contoh pembuatan animasi dengan menggunakan Thread. pada contoh dibawah ini, text digerakkan kekanan dan kekiri, untuk menggerakkannya hanya dengan mengubah koordinat x yang nilainya ditambah/dikurangi didalam fungsi Thread tersebut. neh contoh 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.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 dasarThread extends JPanel {

//Membuat variabel thread Thread animasi; int x=10, batas = 300; // <editor-fold defaultstate="collapsed" desc="Coret2dinding.blogspot.com"> public dasarThread() { setPreferredSize(new Dimension(500, 500)); 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) { if (x < batas) { x = x + 5; batas = 300; } else { x=x-5; batas=10; } 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, 15)); g2.drawString("Coret2dinding.blogspot.com", x, 150); } public void xplay() { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { final JFrame frame = new JFrame("Belajar Thread"); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); frame.add(new dasarThread()); frame.pack(); frame.setResizable(false); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } // </editor-fold> public static void main(String salis[]) { new dasarThread().xplay(); }

Anda mungkin juga menyukai