Wednesday, August 31, 2011

Producer & consumer Problem in simple GUI

import java.io.*;
import java.awt.event.*;
import java.awt.*;
class que extends Frame
{
    Label p,c;
    TextArea t1,t2;
    Panel p1,p2;
    int s;
    que()
    {
        super("Producer & consumer Problem");
        p=new Label("Producer");
        c=new Label("Consumer");
        t1=new TextArea();
        t2=new TextArea();
        p1=new Panel();
        p2=new Panel();
        add(p1,BorderLayout.NORTH);
        add(p2,BorderLayout.CENTER);
        addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent we)
            {
                setVisible(false);
                System.exit(0);
            }
        });
        p1.setLayout(new GridLayout(1,2));
        p1.add(p);p1.add(c);
        p2.setLayout(new GridLayout(1,2));
        p2.add(t1);p2.add(t2);

    }

    int n;
    boolean value=false;
    synchronized void get()throws Exception
    {
            if(!value)
            {
                try
                {
                    wait();
                }
                catch(Exception e)
                {
                }
            }
        Thread.sleep(2000);
        t2.append("get:"+n+"\n");
        value=false;
        notify();

    }
    synchronized  void put(int x)
    {
            if(value)
            {
                try
                {
                    wait();
                }
                catch(Exception e1)
                    {
                    }
            }
            t1.append("put:"+n+"\n");
            n=x;
            value=true;
            notify();
    }
}
class produce implements Runnable
{
    que q;
    produce(que m)
    {
        q=m;
        new Thread(this,"Producer").start();
    }
    public void run()
    {
        int i=2;
        try
        {
            while(true)
                q.put(i++);
        }
        catch(Exception e2)
        {
        }
    }
}
class consumer implements Runnable
{
    que q;
    consumer (que z)
    {
        q=z;
        new Thread(this,"Consumer").start();
    }
    public void run()
    {
        try
        {
            while(true)
                q.get();
        }
        catch(Exception e3)
        {
        }
    }
}
class pcf extends Frame
{
    que q1=new que();
    public static void main(String args[])
    {
            pcf pc= new pcf();
            que q1=new que();
            new produce(q1);
            new consumer(q1);
            q1.setVisible(true);
            q1.setSize(300,400);
    }
}

Monday, August 15, 2011

Count Down Timer

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.*;
public class digi extends Applet implements ActionListener,Runnable
{
    Button b1,b2;
    String temp="";
    Thread t;
    int h,m,s;
   
    public void init()
    {s=0;h=0;m=0;
        b1=new Button("start");
        b2=new Button("stop");
        b1.addActionListener(this);
        b2.addActionListener(this);
    add(b1);add(b2);
    }
    public void run()
    {
    try
    {
    for(; ;)
{
    if(s<59)
    {
        s=s+1;
    }
    else
    {
        m+=1;
        s=0;
    }
    if(m>59)
    {
        h+=1;
        m=0;
    }
    if(h>24)
    {
        h=0;
    }   
    if(h<10)
        temp="0"+h;
    else
        temp=""+h;
    if(m<10)
        temp+=":0"+m;
    else
        temp+=":"+m;
    if(s<10)
        temp+=":0"+s;
    else
        temp+=":"+s;
    Thread.sleep(1000);
    repaint();
}
}
    catch(Exception e)
    {
    }
}
public void actionPerformed(ActionEvent e)
{
    String z=e.getActionCommand();
    if(z.equals("start"))
    {
    t=new Thread(this);
    t.start();
    }
    else
     t.stop();
}
public void paint(Graphics g)
{   
g.setFont(new Font("Comic sans ms",Font.BOLD,24));
    g.drawString(temp,200,200);
    temp="";
}
}
/*<Applet code=digi width=400 height=400>
</Applet>*/

Integer Calculator

import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class calc extends Frame implements ActionListener
{
String g,q;
int a[],i,r;
Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;
Button ba,bs,bd,bm,be,bc;
TextField t=new TextField();
Panel p;
public calc()
{
    q="";
    a=new int[2];
    b1=new Button("1");
    b2=new Button("2");
    b3=new Button("3");
    b4=new Button("4");
    b5=new Button("5");
    b6=new Button("6");
    b7=new Button("7");
    b8=new Button("8");
    b9=new Button("9");
    b0=new Button("0");
    ba=new Button("+");
    bs=new Button("-");
    bd=new Button("*");
    bm=new Button("/");
    be=new Button("=");
    bc=new Button("C");
    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this);
    b4.addActionListener(this);
    b5.addActionListener(this);
    b6.addActionListener(this);
    b7.addActionListener(this);
    b8.addActionListener(this);
    b9.addActionListener(this);
    b0.addActionListener(this);
    ba.addActionListener(this);
    bs.addActionListener(this);
    bd.addActionListener(this);
    bm.addActionListener(this);
    be.addActionListener(this);
    bc.addActionListener(this);


    add(t,BorderLayout.NORTH);
    p=new Panel();
    add(p,BorderLayout.CENTER);

    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent we)
    {setVisible(false);
    System.exit(0);
    }
    });   
        p.setLayout(new GridLayout(4,4,10,10));
    p.add(b1);p.add(b2);p.add(b3);p.add(b4);p.add(b5);p.add(b6);
    p.add(b7);p.add(b8);p.add(b9);p.add(b0);
    p.add(ba);p.add(bs);p.add(bm);p.add(bd);p.add(be);p.add(bc);
    }
public void actionPerformed(ActionEvent ae)
{
String z=ae.getActionCommand();
try{
    if((z.equals("1"))||(z.equals("2"))||(z.equals("3"))||(z.equals("4"))||(z.equals("5"))||(z.equals("6"))||(z.equals("7"))||(z.equals("8"))||(z.equals("9"))||(z.equals("0")))
    {   
        t.setText(z);
        q+=t.getText();
        t.setText(q);
        }
    else if((z.equals("+"))||(z.equals("*"))||(z.equals("/"))||(z.equals("-")))
    {
        g=ae.getActionCommand();
        t.setText("");
        a[i]=Integer.parseInt(q);
        i++;q="";
    }
    else if(z.equals("="))
    {
        a[i]=Integer.parseInt(q);
        i=0;q="";
        if(g.equals("+"))
        {
        r=a[0]+a[1];
        t.setText("Ans:"+r);
        }
        if(g.equals("-"))
        {
        r=a[0]-a[1];
        t.setText("Ans:"+r);
        }
        if(g.equals("*"))
        {
        r=a[0]*a[1];
        t.setText("Ans:"+r);
        }
        if(g.equals("/"))
        {
        r=a[0]/a[1];
        t.setText("Ans:"+r);
        }
    }
    else
    {
        t.setText("");
    }
}
catch(NumberFormatException ex)
{
}
}
public static void main(String args[])
{
calc c= new calc();
c.setVisible(true);
c.setSize(300,400);
}}