Saturday 28 November 2009

Jprogress Bar Dan Thread

Berikut ini saya berikan contoh penggunaan thread dalam jprogress bar.
mula-mula kita buat form seperti di bawah ini :
Setelah membuat form, selanjutnya kita mainkan kodenya. pada bagian kode seperti berikut :
public class postingan extends javax.swing.JFrame , kita tambahkan threadnya maka kodenya jadi seperti berikut :
public class postingan extends javax.swing.JFrame implements Runnable {
selanjtnya pada bagian event jbuttonnya. kita berikan event yang akan membangkitkan thread, kode nya seperti berikut :
new Thread(this).start();
tambahkan juga threadnya pada bagian paling bawah sebagai berikut :
public void run() {
while(true)
{
jproses.setValue(i);
jproses.setStringPainted(rootPaneCheckingEnabled);
i++;
try
{
Thread.sleep(1000);
}catch(Exception e)
{

}
}
}

berikut source kode lengkapnya :
public class postingan extends javax.swing.JFrame implements Runnable {

/** Creates new form postingan */
int i=0;
public postingan() {
initComponents();
}

@SuppressWarnings("unchecked")
//
private void initComponents() {

bklik = new javax.swing.JButton();
jproses = new javax.swing.JProgressBar();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Demo Jprogress bar dan thread");
setLocationByPlatform(true);
getContentPane().setLayout(null);

bklik.setText("Klik Saya");
bklik.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bklikActionPerformed(evt);
}
});
getContentPane().add(bklik);
bklik.setBounds(120, 110, 170, 23);
getContentPane().add(jproses);
jproses.setBounds(30, 50, 350, 19);

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-416)/2, (screenSize.height-272)/2, 416, 272);
}//


private void bklikActionPerformed(java.awt.event.ActionEvent evt) {
new Thread(this).start();
}


public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new postingan().setVisible(true);
}
});
  }

// Variables declaration - do not modify
private javax.swing.JButton bklik;
private javax.swing.JProgressBar jproses;
// End of variables declaration

public void run() {
while(true)
{
jproses.setValue(i);
jproses.setStringPainted(rootPaneCheckingEnabled);
i++;
try
{
Thread.sleep(1000);
}catch(Exception e)
{

}
}
}
}
 Hasilnya :

1 comment: