Advertisement
Pades

Untitled

May 23rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.46 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package skuska;
  7.  
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10. import javax.swing.Timer;
  11.  
  12. /**
  13.  *
  14.  * @author dendis4
  15.  */
  16. public class Casovac extends javax.swing.JFrame implements Runnable {
  17.  
  18.     /**
  19.      * Creates new form Casovac
  20.      */
  21.     private Thread runThread;
  22.     private boolean running = false;
  23.     private boolean paused = false;
  24.     private int zostavajuciCas = 0;
  25.     private int zaciatocnyCas = 0;
  26.     private int pridajCas = 0;
  27.     public Casovac() {
  28.         initComponents();
  29.     }
  30.  
  31.     /**
  32.      * This method is called from within the constructor to initialize the form.
  33.      * WARNING: Do NOT modify this code. The content of this method is always
  34.      * regenerated by the Form Editor.
  35.      */
  36.     @SuppressWarnings("unchecked")
  37.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  38.     private void initComponents() {
  39.  
  40.         jProgressBar1 = new javax.swing.JProgressBar();
  41.         jTextField1 = new javax.swing.JTextField();
  42.         jButton1 = new javax.swing.JButton();
  43.         jLabel1 = new javax.swing.JLabel();
  44.         jButton2 = new javax.swing.JButton();
  45.         jButton3 = new javax.swing.JButton();
  46.         jButton4 = new javax.swing.JButton();
  47.  
  48.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  49.  
  50.         jTextField1.setText("30");
  51.  
  52.         jButton1.setText("Start");
  53.         jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
  54.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  55.                 startAction(evt);
  56.             }
  57.         });
  58.  
  59.         jLabel1.setText("jLabel1");
  60.  
  61.         jButton2.setText("Stop");
  62.         jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
  63.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  64.                 stopAction(evt);
  65.             }
  66.         });
  67.  
  68.         jButton3.setText("Pridat 10");
  69.         jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
  70.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  71.                 add10Action(evt);
  72.             }
  73.         });
  74.  
  75.         jButton4.setText("Pridat 30");
  76.         jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
  77.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  78.                 add30Action(evt);
  79.             }
  80.         });
  81.  
  82.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  83.         getContentPane().setLayout(layout);
  84.         layout.setHorizontalGroup(
  85.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  86.             .addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  87.             .addGroup(layout.createSequentialGroup()
  88.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  89.                     .addGroup(layout.createSequentialGroup()
  90.                         .addGap(48, 48, 48)
  91.                         .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
  92.                         .addGap(18, 18, 18)
  93.                         .addComponent(jButton1)
  94.                         .addGap(18, 18, 18)
  95.                         .addComponent(jButton2))
  96.                     .addGroup(layout.createSequentialGroup()
  97.                         .addGap(170, 170, 170)
  98.                         .addComponent(jLabel1)))
  99.                 .addContainerGap(114, Short.MAX_VALUE))
  100.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  101.                 .addContainerGap()
  102.                 .addComponent(jButton3)
  103.                 .addGap(94, 94, 94)
  104.                 .addComponent(jButton4)
  105.                 .addGap(83, 83, 83))
  106.         );
  107.         layout.setVerticalGroup(
  108.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  109.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  110.                 .addGap(35, 35, 35)
  111.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  112.                     .addComponent(jButton1)
  113.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  114.                     .addComponent(jButton2))
  115.                 .addGap(41, 41, 41)
  116.                 .addComponent(jLabel1)
  117.                 .addGap(27, 27, 27)
  118.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  119.                     .addComponent(jButton3)
  120.                     .addComponent(jButton4))
  121.                 .addGap(37, 37, 37)
  122.                 .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
  123.                 .addContainerGap(21, Short.MAX_VALUE))
  124.         );
  125.  
  126.         pack();
  127.     }// </editor-fold>                        
  128.  
  129.     private void startAction(java.awt.event.MouseEvent evt) {                            
  130.         if(jButton1.getText().equals("Start")) {
  131.             this.zostavajuciCas = Integer.parseInt(jTextField1.getText());
  132.             this.zaciatocnyCas = Integer.parseInt(jTextField1.getText());
  133.             jLabel1.setText(String.valueOf(zostavajuciCas));
  134.             running = true;
  135.             paused = false;
  136.             runThread = new Thread(this);
  137.             runThread.start();
  138.             jButton1.setEnabled(false);
  139.         } else {
  140.             running = true;
  141.             paused = false;
  142.             runThread = new Thread(this);
  143.             runThread.start();
  144.             jButton1.setEnabled(false);
  145.             jButton2.setEnabled(true);
  146.         }
  147.     }                            
  148.  
  149.     private void stopAction(java.awt.event.MouseEvent evt) {                            
  150.         // TODO add your handling code here:
  151.         jButton1.setText("Pokracovat");
  152.         jButton1.setEnabled(true);
  153.         jButton2.setEnabled(false);
  154.         running = false;
  155.         paused = true;
  156.     }                          
  157.  
  158.     private void add10Action(java.awt.event.MouseEvent evt) {                            
  159.         pridajCas = 10;
  160.     }                            
  161.  
  162.     private void add30Action(java.awt.event.MouseEvent evt) {                            
  163.         pridajCas = 30;
  164.     }                            
  165.  
  166.     /**
  167.      * @param args the command line arguments
  168.      */
  169.     public static void main(String args[]) {
  170.         /* Set the Nimbus look and feel */
  171.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  172.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  173.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  174.          */
  175.         try {
  176.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  177.                 if ("Nimbus".equals(info.getName())) {
  178.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  179.                     break;
  180.                 }
  181.             }
  182.         } catch (ClassNotFoundException ex) {
  183.             java.util.logging.Logger.getLogger(Casovac.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  184.         } catch (InstantiationException ex) {
  185.             java.util.logging.Logger.getLogger(Casovac.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  186.         } catch (IllegalAccessException ex) {
  187.             java.util.logging.Logger.getLogger(Casovac.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  188.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  189.             java.util.logging.Logger.getLogger(Casovac.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  190.         }
  191.         //</editor-fold>
  192.  
  193.         /* Create and display the form */
  194.         java.awt.EventQueue.invokeLater(new Runnable() {
  195.             public void run() {
  196.                 new Casovac().setVisible(true);
  197.             }
  198.         });
  199.     }
  200.    
  201.     public void run() {
  202.         while(running && !paused) {
  203.             if(pridajCas != 0) {
  204.                 zostavajuciCas += pridajCas;
  205.                 zaciatocnyCas += pridajCas;
  206.                 pridajCas = 0;
  207.             }
  208.             zostavajuciCas--;
  209.             jLabel1.setText(String.valueOf(zostavajuciCas));
  210.             int progressValue = 100 - (zostavajuciCas*100/zaciatocnyCas);
  211.             System.out.println(progressValue);
  212.             jProgressBar1.setValue(progressValue);
  213.             try {
  214.                 Thread.sleep(1000);
  215.             } catch (InterruptedException ex) {
  216.                 Logger.getLogger(Casovac.class.getName()).log(Level.SEVERE, null, ex);
  217.             }
  218.         }
  219.     }
  220.    
  221.  
  222.     // Variables declaration - do not modify                    
  223.     private javax.swing.JButton jButton1;
  224.     private javax.swing.JButton jButton2;
  225.     private javax.swing.JButton jButton3;
  226.     private javax.swing.JButton jButton4;
  227.     private javax.swing.JLabel jLabel1;
  228.     private javax.swing.JProgressBar jProgressBar1;
  229.     private javax.swing.JTextField jTextField1;
  230.     // End of variables declaration                  
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement