Friday, January 17, 2020

ஜாவாவில் டைமர் கண்ட்ரோல்



பொதுவாக டைமர் கன்ட்ரோல் என்பது குறிப்பிட்ட கால இடைவெளிக்கு ஒரு முறை மீண்டும் மீண்டும் ஒரு கோடிங்க்  பிளாக்கை இயக்கும். இது அந்த டைமர் கண்ட்ரோல் enable ஆகியிருக்கும் வரை தான் செயல்படும்.
சான்று நிரல்.
package JavaDB_001;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;


public class Test extends JFrame {
    Timer tm1,tm2;
    JButton up,down;
    JPanel panel;
    public Test(){
        super("Timer");
        up = new JButton("up");
        down = new JButton("down");
        up.setBounds(150, 400, 100, 20);
        down.setBounds(260, 400, 100, 20);
        panel = new JPanel();
        panel.setBackground(Color.decode("#3a5795"));
        panel.setBounds(0, 0, 500, 0);
       
        tm1 = new Timer(50,new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
           
                if(panel.getHeight() != 350){
                    up.setEnabled(false);
                    down.setEnabled(false);
                    panel.setBounds(0, 0, 500, panel.getHeight()+5);
                    if(panel.getHeight() == 350){
                        tm1.stop();
                    up.setEnabled(true);
                    down.setEnabled(true);
                    }
                }
            }
        });
       
        tm2 = new Timer(50, new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
               
                if(panel.getHeight() !=0){
                         up.setEnabled(false);
                    down.setEnabled(false);
                       
                    panel.setBounds(0, 0, 500, panel.getHeight()-5);
                    if(panel.getHeight() == 0){
                        tm2.stop();
                       up.setEnabled(true);
                    down.setEnabled(true);
                    }
                }
            }
        });
        
        //Timer2 Start
        up.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                tm2.start();
            }
        });
                 //Timer1 Start
        down.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                tm1.start();
            }
        });
       
       
       
        add(up);
        add(down);
        add(panel);
        setLayout(null);
        setSize(500, 500);
        getContentPane().setBackground(Color.decode("#bdb76b"));
        setLocationRelativeTo(null);
        setVisible(true);
    }
 

 public static void main(String[] args){

         new Test();
    }
}
மேலே உள்ள நிரலில் இரண்டு டைமர் கண்ட் ரோல்களும், இரண்டு பட்டன்களும் (up,down)  மற்றும் ஒரு பேனலும் அறிவிக்கப்பட்டிருகின்றது. ஃப்ரேமின் அளவு 500, 500) என அறிவிக்கப்பட்டிருக்கின்றது.
பேனலின் அகலம் 500 எனவும் உயரம் 0 எனவும் அறிவிக்கப்பட்டுள்ளது.
Up பட்டனை கிளிக் செய்யும் பொழுது டைமர்2 strat ஆகின்றது. டைமர் கன்ட்ரோல் (tm2) start ஆகிய பிறகு   இரண்டு பட்டன்களும் டிசேபிள் ஆகின்றது. பேனலின் உயரம் சிறிது சிறிதாக குறைந்து கொண்டே வருகின்றது.
அது 0 ஆகியவுடன் tm2 ஸ்டாப் ஆகின்றது இரண்டு பட்டன்களும் எனேபிள் ஆகின்றது.
Down பட்டனை கிளிக் செய்தவுடன் tm1 ஸ்டார்ட் ஆகின்றது.  இரு பட்டனும் டிஸேபிள் ஆகின்றது.பேனலின் உயரம் சிறிது சிறிதாக கூடுகின்றது. அதன் உயரம் 350-ஐ எட்டிய பிறகு tm2 ஸ்டாப் ஆகின்றது. இரண்டு பட்டன்களும் எனேபில் ஆகின்றது.
இவ்வாறாக டைமர் கண்ட்ரோலை பயன்படுத்தி ஜாவாவில் நிரல் எழுதலாம்.
-நன்றி.
முத்து கார்த்திகேயன்,மதுரை
ads Udanz

No comments:

Post a Comment