hafidh

JAVA GUI - Test progressbar

Feb 19th, 2012
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.57 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import javax.swing.JOptionPane;
  5.  
  6. class TestProgresBar extends JFrame{
  7.     // atribute
  8.     JProgressBar progbar;
  9.     JTextArea texta;
  10.     JButton b_start;
  11.     JScrollPane scrl;
  12.     int min = 0;
  13.     int max = 100;
  14.     // digunakan untuk waktu delay
  15.     Timer timer;
  16.     int progres;
  17.     public TestProgresBar(){
  18.         //frame seting---------------------------------------------------------------------
  19.         //memanggil konstruktor kelas induk (JFrame)
  20.         super("coba menubar");
  21.         //seting besar frame LEBAR x TINGGI
  22.         this.setSize(300,350);
  23.         //seting agar bisa ditutup
  24.         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  25.         //seting kemunculan frame di tengah window
  26.         this.setLocationRelativeTo(null);
  27.         this.getContentPane().setLayout(null);
  28.         //frame seting---------------------------------------------------------------------
  29.         // JProgressBar(int minimal_value,int maksimal_value)
  30.         progbar = new JProgressBar(min,max);
  31.             // nilai awal
  32.             progbar.setValue(0);
  33.             // menampilkan angka di progres bar
  34.             progbar.setStringPainted(true);
  35.         b_start = new JButton("start");
  36.         texta   = new JTextArea();
  37.             texta.setEditable(false);
  38.         scrl    = new JScrollPane(texta);
  39.        
  40.     }
  41.     public void konfig(){
  42.         this.add(progbar);
  43.         this.add(b_start);
  44.         this.add(scrl);
  45.         progbar.setBounds(105,10,150,30);
  46.         b_start.setBounds(10,10,100,30);
  47.         scrl.setBounds(10,50,250,150);
  48.     }
  49.     public void setAksi(){
  50.         b_start.addActionListener(new ActionListener( ) {
  51.             public void actionPerformed(ActionEvent e){
  52.                 // kode disini; cek keadaan check box
  53.                 // kosongkan text area
  54.                 texta.setText("");
  55.                 //set ulang nilai progresbar
  56.                 progbar.setValue(0);
  57.                 progres = 0;
  58.                 // disable tombolnya
  59.                 b_start.setEnabled(false);
  60.                 // mulai timer yang udah di konfigurasi
  61.                 timer.start();
  62.                
  63.             }
  64.         });
  65.         // membuat aksi timer
  66.         timer = new Timer(500, new ActionListener(){
  67.             public void actionPerformed(ActionEvent e){
  68.                 progres++;
  69.                 progbar.setValue(progres);
  70.                 texta.append("Progres saat ini : "+progres+"%\n");
  71.                 if(progbar.getValue() >= max){
  72.                     //berhasil//
  73.                     JOptionPane.showMessageDialog(null,"Progres Selesai");
  74.                     // berhentiin timernya
  75.                     timer.stop();
  76.                     // aktifin lagi tombolnya
  77.                     b_start.setEnabled(true);
  78.                     // kasih komen terakir
  79.                     texta.append("---Selesai---");
  80.                 }
  81.             }
  82.         });
  83.     }
  84.     public static void main(String[] args){
  85.         TestProgresBar prog = new TestProgresBar();
  86.         // konfigurasi
  87.         prog.konfig();
  88.         // seting aksi
  89.         prog.setAksi();
  90.         // tampilkan frame ke layar
  91.         prog.show();
  92.        
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment