શુક્રવાર, 23 માર્ચ, 2018

Write an applet that uses the mouse listener, which overrides only two methods which are mousePressed and mouseReleased

Experiment : 12
આપણે આ practical માં mouse event નો ઉપયોગ કરવા નો છે. Mouse event માં પણ mouse press અને mouse release.

Code = Exp12.java

import java.awt.*;
import java.awt.event.*;

public class Exp12 extends Frame implements MouseListener
{
   TextField t1,t2;
   Exp12()
   {
       setVisible(true);
       setSize(500,500);
       setLayout(new FlowLayout());
       t1=new TextField(20);
       t2=new TextField(20);
       add(t1);
       add(t2);
       addMouseListener(this);
   }

   public void mouseReleased(MouseEvent e)
   {
       System.out.println("Mouse is released");
       t1.setText("Mouse is released");
   }

   public void mousePressed(MouseEvent e)
   {
       System.out.println("Mouse is pressed");
       t1.setText("Mouse is pressed");
   }
   public void mouseEntered(MouseEvent e)
   {
     t2.setText("Mouse is In");
   }
   public void mouseExited(MouseEvent e)
   {
     t2.setText("Mouse is Exite");
   }
   public void mouseClicked(MouseEvent e)
   {

   }
   public static void main(String args[])
   {
       new Exp12();
   }
}


  • Output :










આ પ્રોગ્રામમાં, એક Frame બનાવવામાં આવ્યો છે અને તેમાં એવી માઉસની ઘટનાઓનું સમર્થન કરવા માટે MouseListener ઇન્ટરફેસનો ઉપયોગ કરવામાં આવ્યો છે. જ્યારે માઉસ એન્ટર કરે છે, ત્યારે "Mouse entered the frame." મેસેજ મુદ્દાઈ દીધો છે, અને જ્યારે માઉસ એક્ઝિટ કરે છે, ત્યારે "Mouse exited the frame." મેસેજ મુદ્દાઈ દીધો છે.આ પ્રોગ્રામનો રન કરાવીને, તમારે ફોર્મ પર માઉસ એન્ટર અને એક્ઝિટ ઇવેન્ટનું અનુભવ કરવામાં આવશે. અમુક સમયને ફોર્મ પર માઉસનું સ્થાન ચેક કરીને "Mouse entered the frame." અથવા "Mouse exited the frame." મેસેજ દેખવામાં આવશે


જાવા AWT (Abstract Window Toolkit) માઉસ ઇવેન્ટ્સ તમારા પ્રોગ્રામને માઉસની ક્રિયાઓ અથવા માઉસની ઘટનાઓનો સમર્થન કરે છે. ઉદાહરણ તરીકે, તમે માઉસ કરીને કોઈ બટનને ક્લિક કરી શકો છો, બટન સ્ક્રોલ કરી શકો છો અને માઉસ સ્ક્રોલ કરી શકો છો.

જાવા AWT માઉસ ઇવેન્ટ્સ માટે, તમારી એપ્લિકેશનમાં મોટાભાગની પોપ્યુલર ઇવેન્ટ્સ હેરાન કરેલ વિગતોમાં, MouseListener અને MouseMotionListener હોય છે. MouseListener તમારે માઉસની ક્રિયાઓનું સમર્થન કરે છે (જે માઉસનું સ્થિતિમાં બદલે છે, માઉસ ક્લિક કરે છે, બટન માઉસ પર અક્ષર ને સ્ક્રોલ કરે છે) અને MouseMotionListener તમારી એપ્લિકેશનમાં માઉસની કર્યાનું સમર્થન કરે છે (જે માઉસનું સ્થિતિમાં ફેરફાર કરે છે).

માઉસ પ્રેસ ઇવેન્ટ તમારી માઉસ બટનને ક્લિક કરવામાં સંબંધિત છે. જ્યારે તમે માઉસનું કોઈ બટન પ્રેસ કરો છો, આપતું બટનનો પ્રેસ ઇવેન્ટ ઉંમરે છે. આ ઇવેન્ટ ઘટના સંબંધિત માઉસ બટનનું સ્થાયી કે સ્થાનિક અવસ્થાને લેવામાં આવે છે.

આપતું માઉસ પ્રેસ ઇવેન્ટનું અભિગમ તમારી એપ્લિકેશનમાં MouseListener ઇન્ટરફેસની મદદથી કરી શકાય છે. તમારી એપ્લિકેશનમાં MouseListenerનાં મેથડ્સમાં મુખ્ય છે: mousePressed() અને mouseReleased(). જ્યારે તમે માઉસનો બટન પ્રેસ કરો છો, mousePressed() મેથડ ચલે છે અને જ્યારે તમે બટનને રિલીઝ કરો છો, mouseReleased() મેથડ ચલે છે.

આ ઇવેન્ટ્સ નું સરળ ઉદાહરણ હોય તો, તમે માઉસને બટન પ્રેસ કરીને કેટલાક કાર્યો કરેલ છો અને તમે બટનને રિલીઝ કરીને કેટલાક અન્ય કાર્યો કરેલ છો.

આપણે કોઈ પણ કામ computer માં કર્યે તો mouse નો ઉપયોગ થાય જ છે. એમાં પણ જો track કરવું હોય જોવું હોય શું થાય તે જાણવા mouse event નો ઉપયોગ કર્યે.

માઉસ એન્ટર (Mouse Enter) અને માઉસ એક્ઝિટ (Mouse Exit) ઇવેન્ટ માઉસની અવસ્થાની બદલાવ સંબંધિત છે. જ્યારે માઉસ માઉસ કંપોઝિશનમાં બદલે છે, આ ઇવેન્ટ્સ કાર્યક્રમ ચલાવે છે.

માઉસ એન્ટર (Mouse Enter) ઇવેન્ટ જ્યારે માઉસ એપ્લિકેશનની એક બંદ વિંડો થી બીજી બંદ વિંડોમાં પ્રવેશ કરે છે ત્યારે ઘટે છે. આ ઇવેન્ટમાં, માઉસનું કર્યું સ્થાન તમારી એપ્લિકેશનની પરિમિતિઓની અંદર આવે છે.

માઉસ એક્ઝિટ (Mouse Exit) ઇવેન્ટ જ્યારે માઉસ એપ્લિકેશનની એક બંદ વિંડોમાંથી બીજી બંદ વિંડોમાં નિકલે છે ત્યારે ઘટે છે. આ ઇવેન્ટમાં, માઉસનું કર્યું સ્થાન તમારી એપ્લિકેશનની પરિમિતિઓની બહાર જતું દેખાય છે.

આ ઇવેન્ટ્સ માટે, તમારી એપ્લિકેશનમાં MouseListener ઇન્ટરફેસનો ઉપયોગ કરી શકાય છે, જે માઉસના સંબંધિત મેથડનું સમર્થન કરે છે.



આપણે ક્યાં click કરી ક્યાં drag કર્યું ક્યારે relese કર્યું તે બધું આ mouse event listener દ્વારા જાણી શકાય ઊપયોગ કરી શકાય.

આમાં પણ awt library નો import (keyword) નો ઉપયોગ કરી ને લાઇબ્રેરી add કરી.

public class Exp12 extends Frame implements MouseListener

Exp12 માં frame extand કરાવ્યું inherent કર્યું અને Mouselisener ને implement કર્યું જેથી તેમાં રહેલી method ને define ઉપયોગ કરી શકાય આપણ પ્રમાણે.

TextField t1,t2;

બે t1 ને t2 નામની textfield બનાવી જેથી કરી ને તેમાં આપણે show કરી કે code માં શું થાય છે. કઈ method use માં આવે છે.

Exp12()
   {
       setVisible(true);
       setSize(500,500);
       setLayout(new FlowLayout());
       t1=new TextField(20);
       t2=new TextField(20);
       add(t1);
       add(t2);
       addMouseListener(this);
   }

ત્યાર બાદ Exp12() જે એક constructer છે કેમકે class નું નામ સરખું છે તેથી.

ત્યારબાદ ક્રમશઃ size setSize () દ્વારા 
new TextField(20) દ્વારા text field જેની default size 20 છે.
અને ત્યાર બાદ add (); નો ઉપયોગ કરી ને તેમાં add કર્યું.

addMouseListener (this)
આના લાઇન નો ઉપયોગ કરી ને Mouselisener ને add કર્યું  જેમાં this(keyword) લખી ને object પાસ કર્યો 

ત્યાર બાદ mouse event listener
  • mouseReleased
  • mousePressed
  • mouseEntered
  • mouseExited
  • mouseClicked
mousePressed ત્યારે call થશે જ્યારે mouse નું button દબાવી રાખ્યું હોય એટલો time mouse pressed t1 text field માં લખાઇલું રેહસે.

જેવુ છોડસો click છોડશો તેવું mouse release call થશે. ને t1 textfield માં લખસે "Mouse is released"

mouseclicked ત્યારે run થશે press અને released થાય એટલે clicked થાય.

જ્યારે applet frame માં pointer દાખલ થાય ત્યારે mouseEntered run થાય t2 textfield માં "Mouse is in" થસે.

જ્યારે applet frame માં pointer બહાર થાય ત્યારે mouseExit run થાય t2 textfield માં "Mouse is Exite" થસે.

તમે કઈ જોયું screen shot માં cmd માં પણ print થાય છે.
System.out.println("");
ના લીધે Cmd માં પણ સાથે સાથે print થાય છે. 
Mouse press અને mouse release ને cmd માં print કર્યું છે કેમકે એ તરત જ પળ વારમાં થઇ જાય છે. એટલે cmd મા રેકોર્ડ થાય છે એટલે તેમાં જોઈ સકાય.


Write an applet that display the position of the mouse at the upper left corner of the applet when it is dragged or moved. draw a 10x10 pixel rectangle filed with black at the current mouse position

Experiment : 10
આ practical માં આપણે applet માં mouse ની movement હલન ચલન કે drag ના આધાર પર જ્યાં mouse નું pointer હોય ત્યાં 10*10 નુ box થવું જોઈએ.
Code = Exp10.java

import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
/*<applet code="Exp10.class" height=500 width=500>
</applet>*/
public class Exp10 extends Applet implements MouseMotionListener
{
    int x,y;
    public void init()
    {
        addMouseMotionListener(this);
    }
    public void mouseDragged(MouseEvent e)
    {
        x=e.getX();
        y=e.getY();
        repaint();        
    }
    public void mouseMoved(MouseEvent e)
    {
        x=e.getX();
        y=e.getY();
        repaint();
    }
    public void paint(Graphics g)
    {
        g.fillRect(x,y,10,10);
    }
}


  • Output :




માઉસ ડ્રેગ (Mouse Dragged) અને માઉસ મૂવ્ડ (Mouse Moved) ઇવેન્ટ બધા માઉસના સ્થાન બદલાવ સંબંધિત છે, પરંતુ તેમમાં ફરક છે કે માઉસ ની ક્યારેય એક છક્કો માંથી પાસે જવું શું છે.

1. માઉસ ડ્રેગ (Mouse Dragged):
જ્યારે તમે માઉસને એક માઉસ બટનનો સાથે કોઈ વસ્તુ પાસે ઘસો છો, અને માઉસ બટન દબાવેલી અવસ્થામાં છે, ત્યારે માઉસ ડ્રેગ (Mouse Dragged) ઇવેન્ટ ચલે છે. આ ઇવેન્ટમાં, માઉસનો નવો સ્થાન અને સંદર્ભનો પ્રદર્શાવવામાં આવે છે.

2. માઉસ મૂવ્ડ (Mouse Moved):
જ્યારે માઉસને કોઈ માઉસ બટન દબાવી રહીને કામ ન કરીને એક છક્કો થી બીજુ છક્કો સમયે પાસે જવું શું છે, ત્યારે માઉસ મૂવ્ડ (Mouse Moved) ઇવેન્ટ ચલે છે. આ ઇવેન્ટમાં, માઉસનો નવો સ્થાન અને સંદર્ભનો પ્રદર્શાવવામાં આવે છે.

આપેલ સમજાવાનો ઉદાહરણ માટે, તમારી એપ્લિકેશનમાં જ્યારે માઉસને માઉસ બટન દબાવેલી અવસ્થામાં વસ્તુનો સ્થાન બદલાવે છે, ત્યારે માઉસ ડ્રેગ (Mouse Dragged) ઇવેન્ટ ચલે છે. અને જ્યારે માઉસને કોઈ માઉસ બટન દબાવી રહીને કામ ન કરીને એક છક્કો થી બીજુ છક્કો સમયે પાસે જવું શું છે, ત્યારે માઉસ મૂવ્ડ (Mouse Moved) ઇવેન્ટ ચલે છે. તમારી એપ્લિકેશનમાં આ ઇવેન્ટનું સમર્થન કરવા માટે, તમે MouseMotionListener ઇન્ટરફેસનો ઉપયોગ કરી શકો છો.



Simple ભાષા માં કહ્યે તો જેવું mouse હલન ચલન કરે તેમતેમ box ખસવું જોઈએ ટૂંકમાં mouse pointer track પીછો થવું જોઈએ.

આ વસ્તુ કરવી હોય તો આપણે movement track અને પાછું ચોરસ દોરવાનું જેવુ movement થાય એટલે આટલું થવું જોઇએ.

Stap by stap જોઈએ code માં શું કર્યું છે આપણે.

import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
 
પેહલા તો import (keyword) દ્વારા જે કોઈ  લાઇબ્રેરી ઊપયોગ કરવાના તેને add કરી છે applet અને event pointer ના movement check કરવા.

/*<applet code="Exp10.class" height=500 width=500>
</applet>*/


આનો ઉપયોગ 500*500 નુ applet ની window બનાવવા ઊપયોગ કર્યો છે. જેનો code જે કામ કરવાનું તે Exp10.class માં છે.

public class Exp10 extends Applet implements MouseMotionListener

આ લાઇન દ્વારા Exp10 નામનો ક્લાસ બનાવ્યો અને તેમાં Applet ને extend inherent કરાવ્યું જેથી applet ની functionalities નો ઉપયોગ કરી શકાય અને MouseMotionListener ને implement કરાવ્યું કેમ કે આપણે mouse pointer ની position અને movement નું ઊપયોગ કરવાના છે.

int x,y;

હવે બે variable (ચલ) લીધા x અને y કારણ કે mouse pointer ના cordinate જે છે તે x અને y ના ફોર્મ માં આવશે.

`getX()` અને `getY()` પ્રોગ્રામિંગ માં માઉસ ઇવેન્ટ્સ સંબંધિત છે.

- `getX()` અને `getY()`:
   આ મેથડ્સ `MouseEvent` ક્લાસની એક પબ્લિક મેથડ છે, જે માઉસ ઇવેન્ટ થવાથી માઉસના સ્ક્રીન સંદર્ભમાં માઉસનું X અને Y કોઆર્ડિનેટ્સ પ્રાપ્ત કરે છે. `getX()` મેથડ માઉસનું X કોઆર્ડિનેટ અને `getY()` મેથડ માઉસનું Y કોઆર્ડિનેટ પ્રદાન કરે છે.

   ઉદાહરણ તરીકે, જો તમે માઉસનું X અને Y કોઆર્ડિને માઉસ એન્ટર અને માઉસ એક્ઝિટ ઇવેન્ટ વખતે પ્રિંટ કરવા માંગો છો, તો તમે આવીકરવામાં `getX()` અને `getY()` મેથડ્સનો ઉપયોગ કરી શકો છો.

- `repaint()`:
   `repaint()` મેથડ એ Java માં `Component` ક્લાસનો એક પ્રોટેક્ટેડ મેથડ છે. આ મેથડનો ઉપયોગ પ્રાથમિકરૂપે GUI એલીમેન્ટને રીપેંટ કરવા માટે કરવામાં આવે છે. કોઈની સ્ક્રીન પર પરિવર્તન થતાં તે પ્રાથમિક રૂપે રીપેંટ કરવામાં આવે છે.

   ઉદાહરણ તરીકે, જો તમારી એપ્લિકેશનમાં માઉસના એન્ટર અને એક્ઝિટ ઇવેન્ટ વખતે પરિવર્તન થતો હોય, અને તમે પ્રતિક્રિયા માટે તમારા GUI એલીમેન્ટને રીપેંટ કરવાનું માંગો છો, તો આપના `repaint()` મેથડનો ઉપયોગ કરી શકો છો.

   ઉદાહરણ તરીકે, જ્યારે તમે માઉસનું X અને Y કોઆર્ડિને માઉસ એન્ટર અને માઉસ એક્ઝિટ ઇવેન્ટ વખતે પ્રિંટ કરવા માટે `getX()` અને `getY()` મેથડ્સનો ઉપયોગ કરી શકો છો, અને તમારા GUI એલીમેન્ટને રીપેંટ કરવા માટે `repaint()` મેથડનો ઉપયોગ કરી શકો છો.

   ઉપરોક્ત પ્રયોગો અને માઇક્રોસોફ્ટ વિન્ડોઝ વિનમાર્ગના કોડને દર્શાવવા માટે તમારે GUI એલીમેન્ટને રીપેંટ કરવાની જરૂર છે, કારણ કે તમારી એપ્લિકેશનનો પ્રયોગકર્તાઓ સાથે ઇન્ટરએક્શન થતો છે અને તમારી એપ્લિકેશનનો પ્રદર્શન સંબંધિત વસ્તુઓ પર ફરી એવા પરિવર્તનોની જરૂર હોઈ શકે છે.



public void mouseDragged(MouseEvent e)
    {
        x=e.getX();
        y=e.getY();
        repaint();        
    }

હવે mouse નું જો drag થાય તો તરત જ mouseDragged function call થસે.
જે getX(); દ્વારા mouse pointer ના X cordinet આપશે અને x નામનાંvariable માં નાખ સે.
જે getY(); દ્વારા mouse pointer ના Y cordinet આપશે અને y નામનાં variable માં નાખ સે.

અને repaint();  call થસે જેના દ્વારા પાછું નવું 10*10 નું box draw થસે.

public void mouseMoved(MouseEvent e)
    {
        x=e.getX();
        y=e.getY();
        repaint();
    }

આમાં પણ same mouse drag જેવુ જ થસે પણ mouse move par

fillRect() એપી એ Java માં Graphics ક્લાસનો એક મેથડ છે જેથી તમે રેક્ટાંગલને ભરી શકો છો.આ મેથડનું ઉપયોગ તમારી એપ્લિકેશનમાં ખાલી રેક્ટાંગલ બનાવવામાં થાય છે. તેમ જ તમે દિશાયેવા રેક્ટાંગલ બનાવવામાં પણ આનંદ મળે.

public void paint(Graphics g)
    {
        g.fillRect(x,y,10,10);
    }


અને અંતે paint function ()
આ paint function જે fillRact નો ઉપયોગ કરી ને x અને y variable માં રહેલા cordinet પર 10 hight અને. 10 width નું ચોરસ બનાવ સે.

દર વખતે જેવુ પણ mouse pointer હલસે તેવું તરત x અને y નવા coordinate લઈને ચોરાસ draw કરી નાખશે.

Develop an applet to display the message "Happy New Year" within a text field

Experiment : 6
આપણે આમાં એક applet બનાવવાનું છે જે "happy new year" નો મેસેજ print કરતું હોય એને તે button નો ઉપયોગ થી થાય.
yearbtn.java

import java.awt.*;
import java.awt.event.*;

public class yearbtn extends Frame implements ActionListener{
Button b1;
Label l1;
    yearbtn()
    {
        b1=new Button("year");
        l1=new Label(" ");
        setLayout(new FlowLayout());
        setVisible(true);
        setSize(300,500);
        add(b1);
        add(l1);
        b1.addActionListener(this);
    }
    public static void main(String args[])
    {
        yearbtn s=new yearbtn();        
    }
    
public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==b1)
        {
            l1.setText("happy new year");
        }
}
}

  • Output :
  •  
     



આ ઉદાહરણમાં, જ્યારે તમે લેબલ પર ક્લિક કરો છો, ત્યારે લેબલનો ટેક્સ્ટ લેબલ "Label clicked!" પર બદલાવામાં આવશે. તો એપ્લિકેશનમાં બટનનો છે પરંતુ પ્રતિક્રિયાઓને દર્શાવવામાં આવે છે.આવું માટે, એપ્લિકેશનનો કોડ વધુ વિસ્તૃત કરવામાં આવે છે કારણ કે તમારી એપ્લિકેશનમાં વધુમાં વધુ GUI એલીમેન્ટ્સ અને ક્રિયાઓ હોવી જરૂરી છે. પરંતુ, આ ઉદાહરણ તમને બટન અને લેબલની બસીક પ્રિંસિપલ્સ સમજાવે છે.
બટન (Button) અને લેબલ (Label) પ્રોગ્રામિંગ માં GUI એલીમેન્ટ્સ સંબંધિત છે.
બટન (Button): બટન, સાધારણ રીતે, તેમના સાથે એક ક્લિક કરવાથી કોઈ પ્રોસેસિંગ યોજના શરૂ કરે છે. Java માં, બટનનો ઉપયોગ વપરીને એપ્લિકેશનમાં બટન દૃષ્ટિકોના ફોર્મમાંથી વિવિધ ક્રિયાઓનું પ્રાથમિક રૂપે સ્થાન રખવામાં આવે છે.
લેબલ (Label): લેબલ એપ્લિકેશનમાં માહિતીનો પ્રદર્શન કરવાનું એક સાધારણ રીતે ઉપયોગ થાય છે. Java માં, લેબલનો ઉપયોગ પ્રદર્શિત કરવામાં માહિતીનાં ટેક્સ્ટને સંકલિત કરવા માટે કરવામાં આવે છે.

આપણે આમાં એક બટન ને એક text field લેસુ અને button ના click પર text field માં message બતાવ શું.

import java.awt.*;
import java.awt.event.*;

આ import દ્વારા આપણે લાઇબ્રેરી add કરી awt.

Button b1;
Label l1;
Button પર clicked અને label ને change કરવાનું.
આ દ્વારા b1 નામનું બટન અને l1 લેબલ જેમાં happy new year print કરવા.



public static void main(String args[])
    {
        yearbtn s=new yearbtn();        
    }

Program ની શરૂઆત થાય main function થી.
yearbtn નામનાં class નો object બનાવી ને call કર યો છે. yearbtn નો s નામ નો object. બનાવ્યો.

  yearbtn()
    {
        b1=new Button("year");
        l1=new Label(" ");
        setLayout(new FlowLayout());
        setVisible(true);
        setSize(300,500);
        add(b1);
        add(l1);
        b1.addActionListener(this);
    }

yearbtn() જે એક constructer છે. જે yearbtn નો s નામનો object બનતા ની સાથે call થાય છે.
 ત્યાર બાદ ક્રમશઃ button create size set કરવી અને છેલ્લે ActionListner.

actionPerformed(ActionEvent) એક Java એન્ટરફેસ છે અને java.awt.event.ActionListener ઇન્ટરફેસ દ્વારા પ્રદાન કરવામાં આવે છે. આ ઇન્ટરફેસમાં એક મેથડ છે, જેનો નામ actionPerformed છે.આપેલ ઉદાહરણોમાં, તમે ક્લાસ બનાવ્યો છે અને એપ્લિકેશનમાં બટનને ક્લિક કરવાથી કઈ ક્રિયા કરવી તે નિર્ધારવા માટે actionPerformed(ActionEvent) મેથડનો ઉપયોગ કરવામાં આવે છે.જ્યારે તમે બટન પર ક્લિક કરો છો, તે એક ActionEvent ઉત્પન્ન કરે છે અને તમારી actionPerformed(ActionEvent) મેથડ કોલ કરે છે.

actionPerformed(ActionEvent e)

જેવુ કંઇ clicked થસે action થસે તેવું આ function call થસે.

setText() એક મેથડ છે, જેનો ઉપયોગ ટેક્સ્ટ બૉક્સ, લેબલ, બટન માં વિવિધ એપ્લિકેશનમાં ટેક્સ્ટને સેટ કરવા માટે કરવામાં આવે છે.

l1.setText("happy new year");

setText(""); દ્વારા happy new year set થયું.

આમ simple button ના action પર actionPerformed call 
થાય એના આધારે lable update થાય.

Built an applet that displays a horizontal rectangle in its center. Let the rectangle fill with color from left to right.

Experiment : 3
આપણે આ practical માં applet માં progress bar બનાવવાની છે.એના માટે વચ્ચે એક આળું લંબચોરસ ની અંદર કલર વાળા લંબચોરસ ને ભરી ને કરી સકાય.
Code = ProgressD.java


import java.applet.Applet;
import java.awt.*;

/*<applet code="ProgressD.class" width=320 height=150>
</applet>
*/

public class ProgressD extends Applet{

    public void paint(Graphics G){
        G.drawRect(48,50,218,50);
        
        for(int x=50;x<=260;x=x+12){
            try{
            Thread.sleep(500);
            G.fillRect(x,52,10,46);
            }catch(Exception e){

            }
        }
    }

}
  • Output :





 
ચાલો તો એક પછી એક કરી લાઈન by લાઈન કોડ ને સમજયે 

import java.applet.Applet;
import java.awt.*;
આ લાઈન માં import નો ઉપયોગ લાઇબ્રેરી ને add કરવા ઊપયોગ થયો છે, java applet અને java awt librery ને import કરવી છે એટલે તેના રહેલા function method નો ઉપયોગ આપણે કોડ માં કરી સકાય.

/*<applet code="ProgressD.class" width=500 height=300>
</applet>*/
ઉપર ની લાઈન માં આપણે applet ના dimention hight(ઊંચાઈ) ને width (પોહળાઇ) ને નક્કી કરી છે.

public class ProgressD extends Applet
ProgressD નામનો class (keyword) બનાવ્યો, અને extands (keyword) નો ઉપયોગ કરી ને applet class ને inherat કર્યો જેથી applet class ની વસ્તુ નો ઊપયોગ કરી સકાય.

public void paint(Graphics g)
અહી paint નામની method બનાવી જેનો return type void છે, એટલે એ કાઇપણ return કરસે નહિ. અને Graphics નો object g ને બનાવી પાસ કર્યો જેથી g નો ઉપયોગ કરી applet માં graphics લગતા function use કરી સકાય.
drawRect મેથોડનો ઉપયોગ કરીને સીધું બાજુથી 48 પિક્સલ અને 50 પિક્સલની સ્થાનિકતાથી 218 પિક્સલ અને 50 પિક્સલ સુધીનું રેક્ટેંગલ બનાવીશ છે.


ટ્રાય (Try) એક એક્સેપ્શન હેન્ડલિંગ નો મૂળ પદ્ધતિ છે જેમાં પ્રોગ્રામમાં એન્યુનો ભાંગવું અથવા અસામાન્ય ક્રિયા કરવી હોય, જેમનો પરિણામસ્વરૂપ એક એક્સેપ્શન ઉત્પન્ન થતો હોય.

ટ્રાય બ્લોકનો સારો ઉપયોગ એ છે કે તે એક સુસંગત પ્રોગ્રામ દ્વારા અસુવિધાની સ્થિતિઓનો ધ્યાન ધરાવે. ઉદાહરણ તરીકે, જો તમે ફાઇલ વાંચવાનો પ્રયાસ કરો છો અને ફાઇલ અસ્તિત્વમાં ન હોય, તો એક `FileNotFoundException` નો એક્સેપ્શન ઉત્પન્ન થઈ શકે છે. તેમાં, તમે ટ્રાય-કેચ બ્લોકનો ઉપયોગ કરીને આ એક્સેપ્શનને હેન્ડલ કરી શકો છો અને તમારો પ્રોગ્રામ બંદ ન થઈએ.

થ્રેડ સ્લીપ (Thread sleep) મેથડ એક થ્રેડને નિર્દિષ્ટ સમય સુધી ડાહ્યું રાખવા માટે ઉપયોગ થાય છે. જ્યારે તમે થ્રેડને સ્લીપ કરાવો છો, તે નિર્દિષ્ટ સમય માટે આપને પ્રતીક્ષા કરતું રહેશે.
થ્રેડને સ્લીપ કરાવવાનો ઉપયોગ કોઈ પ્રક્રિયાને બંધ કરવામાં આવે છે અથવા ડેલેય કરવામાં આવે છે, જે થ્રેડને પ્રતીક્ષામાં રાખે છે કે તેમની માટે તમારી પ્રોગ્રામમાં કંપ્યુટેશનલ્યુટેડ પ્રોસેસિંગને રોકે છે. આપેલ ઉદાહરણમાં, પ્રોગ્રામમાં સ્લીપ થઇ રહ્યું મોટાભાગનો કારણ આપનો પ્રોગ્રામ બધાની કાર્યક્રમનું પ્રતીક્ષા કરી રહ્યો છે જ્યારે થ્રેડ સ્લીપ થયો છે.

Draw seven red circles in a vertical column in the center of the applet

Experiment : 2
આ practical માં આપણે સાત લાલ ગોળ ઊભી (vertical) માં applet ના વચ્ચે દોરવાના છે.
Code = redcircle.java

import java.applet.Applet;
import java.awt.*;

/*<applet code="redcircle.class" width=700 height=700>
</applet>*/


public class redcircle extends Applet
{
   public void paint(Graphics g)
   {
       g.drawString("Hello",338,355);


       int y=0;
       g.setColor(Color.RED);
       for(int i=0;i<7;i++)
       {

           g.fillOval(300,y,100,100);
           y=y+100;
       }
   }
}
  • Output


આ task કરવા માટે આપણે આને પેહલા એક applet બનાવ્યે અને ત્યાર બાદ loop ની મદદ થી 10 ગોળ બનાવી.

import java.applet.Applet;
import java.awt.*;

આપણે અહી import (keyword) નો ઉપયોગ કરી ને જરૂરી library ને add કરી છે. આમાં applet librery દ્વારા applet ના function methods ઉપયોગ કરી સકાસે. એને Awt (Abstract windows Toolkit) windows user interface tools ઊપયોગ કરી સકાઈ.

/*<applet code="redcircle.class" width=700 height=700></applet>*/
ઉપર ની લાઈન માં આપણે applet ના dimention hight(ઊંચાઈ) ને width (પોહળાઇ) ને નક્કી કરી છે.

public class redcircle extends Applet
redcircle નામનો class (keyword) બનાવ્યો, અને extands (keyword) નો ઉપયોગ કરી ને applet class ને inherat કર્યો જેથી applet class ની વસ્તુ નો ઊપયોગ કરી સકાય.

public void paint(Graphics g)
અહી paint નામની method બનાવી જેનો return type void છે, એટલે એ કાઇપણ return કરસે નહિ. અને Graphics નો object g ને બનાવી પાસ કર્યો જેથી g નો ઉપયોગ કરી applet માં graphics લગતા function use કરી સકાય
g.setColor(Color.RED);

setColor(Color.RED) મેથોડ એ જાવાની Graphics ક્લાસનો એક મેથોડ છે, જેનો ઉપયોગ ગ્રાફિકલ વસ્તુઓના રંગ સેટ કરવામાં થાય છે. તેમજ Color.RED એ જાવાની Color ક્લાસનો એક સ્ટેટિક ચિન્હ છે, જેથી વર્ણનું પ્રકાર લાલ હોય છે.જો તમે કોઈ ગ્રાફિકલ બનાવવું અથવા રંગપૂર્ણ વાગ્યું વૃત્તબિંબ અને તેની રંગમાં લાલ વાગ્યું વાંચવું છે, તો setColor(Color.RED) નો ઉપયોગ કરીને કરી શકો છો.
setColor function નો ઉપયોગ કરી ને લાલ કલર set કરી દીધું.
હવે આપણે ૭ સર્કલ દોરવાના છે, એટલે  આપણે loop નો ઉપયોગ કર્યે.
for(int i=0;i<7;i++) { .. }
Syntax for loop :-
for(initiation, condition, increment) { .. }

for લૂપનો ઉપયોગ કરીને fillOval મેથોડનું સાત સમાન વૃત્તબિંબોને બનાવવામાં આવ્યું છે. પ્રતિ વૃત્તબિંબની y-મૂલ્યને અવરોધવામાં હતી તથા તે 100 પિક્સલ વધારે બદલાય છે પરંતુ x-મૂલ્ય સ્થાયી છે (માને 300). જેમાં, હરેક વૃત્તબિંબની y-સ્થાનનું અંતર 100 પિક્સલ છે, અને વૃત્તબિંબની લંબાઈ અને ચોડી એ 100 પિક્સલ છે.
Initiation માં i=0 i ની કિંમત 7 assign કરી
Condition માં i<7 જ્યાં સુધી i ની કિંમત 7 થી ઓછી હોય ત્યાં સુધી loop ફર્યા કરસે, એટલે અંદર નો કોડ run થાય કરસે.
Increment માં i++ એટલે દરેક iteration (round) વખતે i ની કિંમત માં એક નો વધારો થાય.
g.fillOval(300,y,100,100);
લાલ circle બનાવવાનું છે એટલે fillOval નો ઉપયોગ  કરશું
એપ્લેટમાં fillOval એ એક ગ્રાફિકલ પ્રક્રિયા છે, જેમાં રંગપૂર્ણ વાગ્યું વૃત્તબિંબને બનાવીને પૂર્ણ વૃત્તનો ભાગ પંક્તિ દ્વારા વિગ્રહાત્મક કરવામાં આવે છે. અંદાજે, ટૂલકિટ દ્વારા આપેલ વ્યાખ્યા જોઈને એપ્લેટમાં fillOval માત્ર લાલ વાગ્યું વૃત્તબિંબ બનાવવામાં આવે છે.

Syntax :- 
fillOval(int x ,int y, int hight , int width)
Int x એ x cordinat ની કિંમત 300
Int y એ y cordinat ની કિંમત અહી variable y
Int hight એ hight ઊંચાઈ  અહી 100
Int width એ width પોહળાઈ અહી 100
હવે જો આટલું જ રાખ્યે તો એકજ જગ્યાએ ૭ ગોળ દોરસ પણ આપણે એક પછી એક કરવાના છે ઊભી લાઇન મા.
એટલે y cordinat માં ચેન્જ કરવો પડશે એટલે આપણે 
y=y+100;
Y ની કિંમત મા દર વખતે 100 નો વધારે થાય છે. ઊંચાઈ પોહળાઈ 100 રાખી એટલે y ની કિંમત 100 રાખી, જેથી એક પછી એક draw થાય.


Write an applet that draws a circle. The dimension of the applet should be 500 x 300 pixels. The circle should be centered in the applet and have a radius of 100 pixels. Display your name centered in a circle.( using drawOval() method ).

Experiment : 1
આપણે applet નો ઉપયોગ કરી ને ગોળ બનાવી ને તેની અંદર લખવાનું છે. એના માટે drawOval() method નો ઉપયોગ કરવાનો છે.

 circle.java

import java.applet.Applet;
import java.awt.*;

/*<applet code="circle.class" width=500 height=300>
</applet>*/


public class circle extends Applet
{
   public void paint(Graphics g)
   {

       g.drawOval(200,100,100,100);
       g.drawString("Hi",238,150);

   }
}



Output




 



અહી આપણે બે method નો ઉપયોગ કરશું .. એક તો drawOval (જેના દ્વારા ગોળ બનવશું) અને drawString (જેના દ્વારા text લખશુ )
 
ચાલો તો એક પછી એક કરી લાઈન by લાઈન કોડ ને સમજયે 

import java.applet.Applet;
import java.awt.*;
આ લાઈન માં import નો ઉપયોગ લાઇબ્રેરી ને add કરવા ઊપયોગ થયો છે, java applet અને java awt librery ને import કરવી છે એટલે તેના રહેલા function method નો ઉપયોગ આપણે કોડ માં કરી સકાય.
AWT(Abstract Window Toolkit)
Applet એ એવી library છે જે java program web page ની અંદર સાથે embedded કોડ છે. એ client side work કરે છે .  
java.awt માં paint() , life cycle method ધરાવે છે . જે ના દ્વારા આપણે oval,rectangle,arc જેવા દોરી સકાઈ.
 
 `import java.applet.Applet;` કોડનો અર્થ છે કે તમે Java પ્રોગ્રામિંગમાં `java.applet.Applet` નામનો વર્ગ ઉપયોગ કરી રહ્યા છો અને તમારા પ્રોગ્રામમાં આપ્લેટની મૂળભૂત કોડનો ઉપયોગ કરવા માટે આવશ્યક છે.

આપ્લેટ ક્લાસેસ `java.applet` પેકેજમાં સ્થિત છે, તેમજ જે `Applet` વર્ગનો ઉપયોગ આપ્લેટમાં બનાવવામાં આવે છે. આપ્લેટ્સ વેબ પેજમાં અને અન્ય જાગ્યાઓમાં સમાવેશ કરવામાં આવે છે, અને તેમની કામગીરીનું સ્થાનાંતર વધુ સરળ બનાવવામાં મદદ કરે છે.

અહીં, `import java.applet.Applet;` નામની સતત પ્રકારની વાર્તા કરવી જરૂરી છે કારણકે તમારો કોડ `Applet` વર્ગને ઉપયોગ કરી રહ્યો છે અને તે પેકેજની માંગે છે. તમારો કોડ એક `Applet` નામનો વર્ગ અને જો તમે તેનો ઉપયોગ કરો છો, તો આપતું વર્ગ `java.applet.Applet` પેકેજની ભાગશે છે.


/*<applet code="circle.class" width=500 height=300>
</applet>*/
ઉપર ની લાઈન માં આપણે applet ના dimension height(ઊંચાઈ) ને width (પોહળાઇ) ને નક્કી કરી છે.

public class circle extends Applet
Circle નામનો class (keyword) બનાવ્યો, અને extends (keyword) નો ઉપયોગ કરી ને applet class ને inherit કર્યો જેથી applet class ની વસ્તુ નો ઊપયોગ કરી સકાય.
અને public declare થયો છે કારણ કે તે public હસે તો program ની બહાર થી પણ access થઈ સકસે.  

public void paint(Graphics g)
અહી paint નામની method બનાવી જેનો return type void છે, એટલે એ કાઇપણ return કરસે નહિ. અને Graphics નો object g  જે  g એ graphics context ધરાવે છે ,g ને બનાવી પાસ કર્યો જેથી g નો ઉપયોગ કરી applet માં graphics લગતા function use કરી સકાય 
paint method દ્વારા દર વખતે પાછી draw થસે paint() method થી applet execute થસે ,
paint method જ્યારે પણ run થસે ત્યારે redraw થસે.

g.drawOval(200,100,100,100);
આ drawOval function ની syntax જોઈ લઈએ
 drawOval(int x,int y,int hight,int width);
પેહલી Int x applet માં x અક્ષ ના coordinate દર્શાવ્યા છે આપણે તેમાં 200 
બીજી Int y applet માં x અક્ષ ના coordinate દર્શાવ્યા છે આપણે તેમાં 200
ત્રીજી int height ને ચોથી width ક્રમશઃ 100 ને 100 છે.

g.drawString("Hi",238,150);

drawString function ની syntax જોઈએ 
drawString(String str, int x, int y)
પેહલા argument છે String જે આપણે print કરવા માગ્યે છે. આપણે hi ઉપયોગ કર્યો છે.
બીજી ને ત્રીજી ક્રમશઃ int x અને int y જે applet માં x અને y coordinate દર્શાવી છે, જ્યાં string લખાસે.

આમ આપણે drawOval નો ઉપયોગ કરી ને ગોળ દોર્યું એને drawString નો ઉપયોગ કરી hi લખ્યું.


applet ના કોડ ને run બે રીતે કરી સકાઈ . 

1. java-compatiable web browser . 
જાહેરની તરીકે, આપ્લેટ્સ Java Applet API અને Java Runtime Environment (JRE) માટેનું ઉપયોગ કરે છે. માટે આવશ્યક છે કે તમારો બ્રાઉઝર Java Applet ની સપોર્ટ કરવું જરૂરી છે અને તમારી સિસ્ટમમાં JRE સ્થાપિત કરવું જરૂરી છે.

તમારી વર્તમાન જવા વર્ઝન અને JRE સ્થાપિત છે તે ખાસ કરીને જાહેર કરવામાં આવે છે, તમારો બ્રાઉઝર Java Applet ની સપોર્ટ કરે છે કે નહીં. આમંત્રિત કરેલા જાહેર અને પ્રસિદ્ધ બ્રાઉઝરોના કેટલાક છે:

Internet Explorer: માટેનો ActiveX Applet સપોર્ટ છે.
Mozilla Firefox: Applet નો સપોર્ટ બંધ થયેલ છે.
Google Chrome: Applet નો સપોર્ટ બંધ થયેલ છે.
Safari: Applet નો સપોર્ટ બંધ થયેલ છે.

જયારે બ્રાઉઝરમાં Applet ની સપોર્ટ બંધ થયેલ છે, તો તમારી એપ્લેટ વિકસ્વારૂપની વિગતો એપ્લેટ બદલે અન્ય પ્લેટફોર્મ અથવા ટેકનીકમાં બદલી શકે છે. વર્તમાન સમયમાં, બ્રાઉઝરોના નવા સંસ્કરણોમાં Java Applet સપોર્ટ ન થવાનો કારણ છે, અને સુસંગત અત્યંત વ્યાવસાયિક અને સુરક્ષિત વિકસનનો કારણ છે.

આપ્લેટ ને સાંભળવા માટેનું પ્રાથમિક સ્ટેપ તેમજ વિકસનને કઈ પ્રકારે અપડેટ કરવું જોઈએ તેનો વિચાર કરવો જોઈએ. અગત્ય

2. applet viewer દ્વારા પણ run કરી સકીએ .
એપ્લેટ કોડને રન કરવા માટે, તમારી સિસ્ટમમાં Java Runtime Environment (JRE) હોવું જરૂરી છે. જો તમારી સિસ્ટમમાં JRE છે, તો તમે આને નીચેની રીતે રન કરી શકો છો:

1. સૌથી પહેલા, તમારો `applet` કોડ એક સોર્સ ફાઇલમાં અવગણવામાં આવ્યો છે. આ ફાઇલનું નામ જરૂરી રહેશે, જેની વાત `MyApplet.java` જેવું હોઈ શકે.

2. અનામતી રીતે, તમારા સિસ્ટમના કમાન્ડપ્રોંપ્ટ (વિંડોઝ) અથવા ટર્મિનલ (લિનક્સ / મેક) માં જાઓ.

3. આપ્લેટ કોડની સોર્સ ફાઇલનું નામ અને ફોલ્ડરનું પાથ લખો અને ફોલ્ડરમાં જાઓ.

4. અબ, આપ્લેટ કોડને કંપાઇલ કરવા માટે, તમારો `applet` કોડ કોંપાઇલ કરવાનો આદેશ જરૂરી છે. આપ્લેટ કોંપાઇલ કરવા માટે, નીચેનો કમાન્ડ લખો:

   ```
   javac MyApplet.java
   ```

   આનાથી, તમારા કોડની સંક્ષિપ્તિનું સિસ્ટમ પર એક `.class` ફાઇલ બનાવવામાં આવશે, જેનું નામ તમારી સોર્સ ફાઇલનું નામ છે (જેથી `MyApplet.class` જેવું હોઈ શકે).

5. તમારું `.class` ફાઇલ બની ગયેલું છે, તો આપ્લેટ કોડને રન કરવા માટે, નીચેનો કમાન્ડ લખો:

   ```
   appletviewer MyApplet.class
   ```

   આનાથી, તમારી આપ્લેટનું રનિંગ પ્રદર્શિત થઈ જશે અને તમારા બ્રાઉઝરમાં આપ્લેટનો પ્રદર્શન થશે.

ધ્યાન આપવું જોઈએ કે જો તમારો કોડ `Applet` ક્લાસથી વાંચે છે, તો `Applet` ક્લાસને જરૂરી રીતે ઇમ્પોર્ટ કરવું જોઈએ. જો તમારો કોડ ડેફોલ્ટ પેકેજમાં છે, તો અનામતી રીતે `import java.applet.Applet;` સામે લખવું જરૂરી છે.

Python tkinter

 Tkinter એ python ની graphics tool library છે. Tkinter library ની મદદ થી આપણૅ કમ્પ્યુટર applaction બનાવી સકે. હમણાં સુધી આપણૅ અલગ અલગ script...