લેબલ applet સાથે પોસ્ટ્સ બતાવી રહ્યું છે. બધી પોસ્ટ્સ બતાવો
લેબલ applet સાથે પોસ્ટ્સ બતાવી રહ્યું છે. બધી પોસ્ટ્સ બતાવો

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

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) મેથડ એક થ્રેડને નિર્દિષ્ટ સમય સુધી ડાહ્યું રાખવા માટે ઉપયોગ થાય છે. જ્યારે તમે થ્રેડને સ્લીપ કરાવો છો, તે નિર્દિષ્ટ સમય માટે આપને પ્રતીક્ષા કરતું રહેશે.
થ્રેડને સ્લીપ કરાવવાનો ઉપયોગ કોઈ પ્રક્રિયાને બંધ કરવામાં આવે છે અથવા ડેલેય કરવામાં આવે છે, જે થ્રેડને પ્રતીક્ષામાં રાખે છે કે તેમની માટે તમારી પ્રોગ્રામમાં કંપ્યુટેશનલ્યુટેડ પ્રોસેસિંગને રોકે છે. આપેલ ઉદાહરણમાં, પ્રોગ્રામમાં સ્લીપ થઇ રહ્યું મોટાભાગનો કારણ આપનો પ્રોગ્રામ બધાની કાર્યક્રમનું પ્રતીક્ષા કરી રહ્યો છે જ્યારે થ્રેડ સ્લીપ થયો છે.

Python tkinter

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