Tuesday, May 7, 2019

synchronization




class PrintTable{ 
//synchronized method.
    public synchronized void printTable(int n){
       System.out.println("Table of " + n);
       for(int i=1;i<=10;i++){
           System.out.println(n*i);
           try{
        Thread.sleep(500);
           }catch(Exception e){
        System.out.println(e);
           }
        }     
    }
}

class MyThread1 extends Thread{
    PrintTable pt;
    MyThread1(PrintTable pt){
    this.pt=pt;
    }
    public void run(){
    pt.printTable(2);
    }     
}

class MyThread2 extends Thread{
PrintTable pt;
MyThread2(PrintTable pt){
this.pt=pt;
}
public void run(){
pt.printTable(5);
}
}

public class p1{
    public static void main(String args[]){
    //creating PrintTable object.
    PrintTable obj = new PrintTable();

    //creating threads.
    MyThread1 t1=new MyThread1(obj);
    MyThread2 t2=new MyThread2(obj);

    //start threads.
    t1.start();
    t2.start();
    }
}



C:\Users\Com science\Documents>java p1
Table of 2
2
4
6
8
10
12
14
16
18
20
Table of 5
5
10
15
20
25
30
35
40
45
50

C:\Users\Com science\Documents>

with out synchronization


class PrintTable{   
    public void printTable(int n){
      // synchronized(this){
       System.out.println("Table of " + n);
           for(int i=1;i<=10;i++){
               System.out.println(n*i); 
               try{ 
            Thread.sleep(500); 
               }catch(Exception e){
            System.out.println(e);
               } 
            }
       //}           
    } 


class MyThread1 extends Thread{ 
    PrintTable pt; 
    MyThread1(PrintTable pt){ 
    this.pt=pt; 
    } 
    public void run(){
    pt.printTable(2); 
    }       


class MyThread2 extends Thread{ 
PrintTable pt; 
MyThread2(PrintTable pt){ 
this.pt=pt; 

public void run(){ 
pt.printTable(5); 



public class p1{ 
    public static void main(String args[]){
    //creating PrintTable object.
    PrintTable obj = new PrintTable(); 

    //creating threads.
    MyThread1 t1=new MyThread1(obj); 
    MyThread2 t2=new MyThread2(obj); 

    //start threads.
    t1.start(); 
    t2.start(); 
    } 
}



C:\Users\Com science\Documents>java p1
Table of 5
5
Table of 2
2
4
10
6
15
20
8
10
25
12
30
35
14
16
40
45
18
50
20

C:\Users\Com science\Documents>

synchronization

class PrintTable{   
    public void printTable(int n){
       synchronized(this){
       System.out.println("Table of " + n);
           for(int i=1;i<=10;i++){
               System.out.println(n*i); 
               try{ 
            Thread.sleep(500); 
               }catch(Exception e){
            System.out.println(e);
               } 
            }
       }           
    } 


class MyThread1 extends Thread{ 
    PrintTable pt; 
    MyThread1(PrintTable pt){ 
    this.pt=pt; 
    } 
    public void run(){
    pt.printTable(2); 
    }       


class MyThread2 extends Thread{ 
PrintTable pt; 
MyThread2(PrintTable pt){ 
this.pt=pt; 

public void run(){ 
pt.printTable(5); 



public class p1{ 
    public static void main(String args[]){
    //creating PrintTable object.
    PrintTable obj = new PrintTable(); 

    //creating threads.
    MyThread1 t1=new MyThread1(obj); 
    MyThread2 t2=new MyThread2(obj); 

    //start threads.
    t1.start(); 
    t2.start(); 
    } 
}



C:\Users\Com science\Documents>java p1
Table of 2
2
4
6
8
10
12
14
16
18
20
Table of 5
5
10
15
20
25
30
35
40
45
50

C:\Users\Com science\Documents>

nested try



import java.util.*;
public class p1 {
    public static void main(String[] args) {
        try {
            System.out.println("Outer try block starts");
            try {
                System.out.println("Inner try block starts");
                int res = 5 / 0;
            } catch (InputMismatchException e) {
          System.out.println("InputMismatchException caught");
            } finally {
                System.out.println("Inner final");
            }
        } catch (ArithmeticException e) {
            System.out.println("ArithmeticException caught");
        } finally {
            System.out.println("Outer finally");
        }
    }
}






C:\Users\Com science\Documents>java p1
Outer try block starts
Inner try block starts
Inner final
ArithmeticException caught
Outer finally

C:\Users\Com science\Documents>

text box and command button

import java.awt.*;
import java.awt.event.*;
class p1 extends Frame implements ActionListener{
TextField tf;
p1(){

tf=new TextField();
tf.setBounds(60,50,170,20);
Button b=new Button("click me");
b.setBounds(100,120,80,30);


b.addActionListener(this);


add(b);add(tf);
setSize(300,300);
setLayout(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
tf.setText("Welcome");
}
public static void main(String args[]){
new p1();
}
}







event handling

 1. text box & command button -- LINK
 2. BASIC INTRODUCTION LINK LINK2

3. keyboard  handling -- link
4. mouse handling -- link

Friday, May 3, 2019

keyboard handling

1.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="Key" width=300 height=400>
</applet>
*/
public class Key extends Applet
implements KeyListener
{
int X=20,Y=30;
String msg="KeyEvents--->";
public void init()
{
addKeyListener(this);
requestFocus();
setBackground(Color.green);
setForeground(Color.blue);
}
public void keyPressed(KeyEvent k)
{
showStatus("KeyDown");
int key=k.getKeyCode();
switch(key)
{
case KeyEvent.VK_UP:
showStatus("Move to Up");
break;
case KeyEvent.VK_DOWN:
showStatus("Move to Down");
break;
case KeyEvent.VK_LEFT:
showStatus("Move to Left");
break;
case KeyEvent.VK_RIGHT:
showStatus("Move to Right");
break;
}
repaint();
}
public void keyReleased(KeyEvent k)
{
showStatus("Key Up");
}
public void keyTyped(KeyEvent k)
{
msg+=k.getKeyChar();
repaint();
}
public void paint(Graphics g)
{
g.drawString(msg,X,Y);
}
}


<applet code="Key" width=200 height=60>
</applet>







Example2:


import java.awt.*;

import java.applet.*;



public class Key1 extends Applet

{

    int keyPressed;



    public void init()

    {

        keyPressed = -1;



        Font font =  new Font("TimesRoman", Font.BOLD, 144);

        setFont(font);



        resize(200, 200);

    }



    public void paint(Graphics g)

    {

        String str = "";



        if (keyPressed != -1)

        {

            str += (char)keyPressed;

            g.drawString(str, 40, 150);

        }

    }



    public boolean keyDown(Event evt, int key)

    {

        keyPressed = key;

        repaint();

        return true;

    }

}

<applet code="Key1" width=200 height=60>
</applet>


mouse handling

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="Mouse" width=500 height=500>
</applet>
*/
public class Mouse extends Applet
implements MouseListener,MouseMotionListener
{
int X=0,Y=20;
String msg="MouseEvents";
public void init()
{
addMouseListener(this);
addMouseMotionListener(this);
setBackground(Color.black);
setForeground(Color.red);
}
public void mouseEntered(MouseEvent m)
{
setBackground(Color.magenta);
showStatus("Mouse Entered");
repaint();
}
public void mouseExited(MouseEvent m)
{
setBackground(Color.black);
showStatus("Mouse Exited");
repaint();
}
public void mousePressed(MouseEvent m)
{
X=10;
Y=20;
msg="mouse pressed";
setBackground(Color.green);
repaint();
}
public void mouseReleased(MouseEvent m)
{
X=10;
Y=20;
msg="mouse released";
setBackground(Color.blue);
repaint();
}
public void mouseMoved(MouseEvent m)
{
X=m.getX();
Y=m.getY();
msg="mouse moved";
setBackground(Color.white);
showStatus("Mouse Moved");
repaint();
}
public void mouseDragged(MouseEvent m)
{
msg="mouse dragged";
setBackground(Color.yellow);
showStatus("Mouse Moved"+m.getX()+" "+m.getY());
repaint();
}
public void mouseClicked(MouseEvent m)
{
msg="mouse clicked";
setBackground(Color.pink);
showStatus("Mouse Clicked");
repaint();
}
public void paint(Graphics g)
{
g.drawString(msg,X,Y);
}
}








mouse.html
<applet code="Mouse" width=200 height=60>
</applet>


user defined exception

Example 1:


class clexc extends Exception
{
public clexc(String s)
{

super(s);
}
}

public class clex
{

public static void main(String args[])
{
try
{

throw new clexc("my exception");
}
catch (clexc ex)
{
System.out.println("exception Caught");

System.out.println(ex.getMessage());
}
}
}


output::

D:\>javac clex.java

D:\>java clex
exception Caught
my exception

D:\>




Example 2:

class clexc extends Exception
{    private int v;
public clexc(String s)
{

super(s);
}
     public clexc(int a){v=a;}
     public String toString(){ return "exc"+v+"pp";}


}

public class clex
{
static void compute(int a) throws clexc
        { System.out.println("compute function"+a);
          if(a>10)
             throw new clexc(a);
          System.out.println("no throw");
           
        }
public static void main(String args[])
{
try
{

compute(1);
}
catch (clexc ex)
{
System.out.println("exception Caught");

System.out.println(ex.getMessage());
}
}
}



D:\>javac clex.java

D:\>java clex
compute function1
no throw

D:\>


Example 3:

class clexc extends Exception
{    private int v;
public clexc(String s)
{

super(s);
}
     public clexc(int a){v=a;}
     public String toString(){ return "exc"+v+"pp";}


}

public class clex
{
static void compute(int a) throws clexc
        { System.out.println("compute function"+a);
          if(a>10)
             throw new clexc(a);
          System.out.println("no throw");
           
        }
public static void main(String args[])
{
try
{

compute(11);
}
catch (clexc ex)
{
System.out.println("exception Caught");

System.out.println(ex.getMessage());
}
}
}

output:


D:\>javac clex.java

D:\>java clex
compute function11
exception Caught
null

D:\>