Sie sind auf Seite 1von 38

JAVA PROGRAMMING LABORATORY [10MCA37] JAVA PROGRAMMING LABORATORY

SUBJECT CODE: 10MCA37 HRS/WEEK: 3 TOTAL HRS: 42 I.A MARKS: 50 EXAM MARKS: 50 EXAM HRS: 3

1. a. Write a JAVA Program to demonstrate Constructor Overloading and Method overloading. b. Write a JAVA Program to implement Inner class and demonstrate its Access Protections. 2. a. Write a JAVA Program to demonstrate Inheritance. b. Write a JAVA Program to demonstrate Exception Handling (Using Nested try catch and finally). 3. Write a JAVA program which has i. A Class called Account that creates account with 500Rs minimum balance, a deposit() method to deposit amount, a withdraw() method to withdraw amount and also throws LessBalanceException if an account holder tries to withdraw money which makes the balance become less than 500Rs. ii. A Class called LessBalanceException which returns the statement that says withdraw amount (___Rs) is not valid. iii. A Class which creates 2 accounts, both account deposit money and one account tries to withdraw more money which generates a LessBalanceException take appropriate action for the same. 4. Write a JAVA program using Synchronized Threads, which demonstrates Producer Consumer concept. 5. Write a JAVA program which has i. A Interface class for Stack Operations ii. A Class that implements the Stack Interface and creates a fixed length Stack. iii. A Class that implements the Stack Interface and creates a Dynamic length Stack. iv. A Class that uses both the above Stacks through Interface reference and does the Stack operations that demonstrates the runtime binding. 6. Write i. ii. iii. a JAVA program which has 2 classes which initializes a String in its constructor A Generic class with 2 type Parameters Create a Generic Class reference for the above 2 Class and try to print the message inside the constructor (Use to string method).

7. 8.

Write JAVA programs which demonstrates utilities of LinkedList Class Write a JAVA Program which uses FileInputStream / FileOutPutStream Classes.

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


9. Write a JAVA Program which writes a object to a file (use transient variable also). 10. Write a JAVA program which uses Datagram Socket for Client Server Communication. 11. Write JAVA Applet programs which handles MouseEvent 12. Write JAVA Applet programs which handles KeyBoardEvent 13. Write a JAVA program which implements RMI. 14. Write a Swing Application which uses i. JTabbed Pane ii. Each Tab should use JPanel, which includes any one component given below in each Panel iii. ComboBox / List / Tree / Radiobutton Note: All the above Components should listen to any one of their respective events and print appropriate message.

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


1. a. WRITE A JAVA PROGRAM TO DEMONSTRATE CONSTRUCTOR OVERLOADING AND METHOD OVERLOADING.
SOURCE CODE: class Add { int a,b; Add() { System.out.println("Default Constructor Initialized ...."); a=10;b=20; } Add(int x,int y) { System.out.println("\nParameterized Constructor Initialized ...."); a=x;b=y; } void addition() { int sum; sum=a+b; System.out.println("A = "+a); System.out.println("B = "+b); System.out.println("Sum = "+sum); } void addition(Add ob) { int sum; sum=ob.a+ob.b; System.out.println("A = "+ob.a); System.out.println("B = "+ob.b); System.out.println("Sum = "+sum); } } class Addition { public static void main(String arg[]) { System.out.println("CONSTRUCTOR AND METHOD OVERLOADING\n"); Add ob=new Add(); ob.addition(); Add ob1=new Add(100,300); ob1.addition(ob1); } }

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


1. b. WRITE A JAVA PROGRAM TO IMPLEMENT INNER CLASS AND DEMONSTRATE ITS ACCESS PROTECTIONS.
SOURCE CODE: class Outer { private int x=100; int y=200; void test() { Inner ob=new Inner(); ob.display(); } class Inner { int z=300; void display() { System.out.println("Outer class private data x = "+x); System.out.println("Outer class default data y = "+y); System.out.println("Inner class data z = "+z); z=x+y+z; System.out.println("Sum = "+z); } } } class InnerDemo { public static void main(String arg[]) { System.out.println("INNER CLASS ACCESS PROTECTION\n"); Outer ob=new Outer(); ob.test(); } }

OURPUT

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


2. a. WRITE A JAVA PROGRAM TO DEMONSTRATE INHERITANCE.
SOURCE CODE: class A { int a; void showA() { System.out.println("A = "+a); } } class B extends A { int b; void showB() { System.out.println("B = "+b); } void sum() { int z; z=a+b; showA(); showB(); System.out.println("Sum = "+z); } } class InheritDemo { public static void main(String arg[]) { System.out.println("DEMONSTRATION OF INHERITANCE\n"); B ob=new B(); ob.a=10; ob.b=20; ob.sum(); } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]

2. b. WRITE A JAVA PROGRAM TO DEMONSTRATE EXCEPTION HANDLING (USING NESTED TRY CATCH AND FINALLY).
SOURCE CODE: class NestTry { public static void main(String args[]) { try { int a=args.length; int b=42/a; System.out.println("a = "+a); try{ if(a==1) a=a/(a-a); // division bt zero if(a==2){ int c[]={1}; c[32]=89; } }catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array index out-of-bounds: "+e); } }catch(ArithmeticException e) { System.out.println("Divide by 0: "+e); } finally { System.out.println("Finally block executed:"); }}}

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


3. WRITE A JAVA PROGRAM WHICH HAS i. A CLASS CALLED ACCOUNT THAT CREATES ACCOUNT WITH 500RS MINIMUM BALANCE, A DEPOSIT() METHOD TO DEPOSIT AMOUNT, A WITHDRAW() METHOD TO WITHDRAW AMOUNT AND ALSO THROWS LESSBALANCEEXCEPTION IF AN ACCOUNT HOLDER TRIES TO WITHDRAW MONEY WHICH MAKES THE BALANCE BECOME LESS THAN 500RS. ii. A CLASS CALLED LESSBALANCEEXCEPTION WHICH RETURNS THE STATEMENT THAT SAYS WITHDRAW AMOUNT (___RS) IS NOT VALID. iii. A CLASS WHICH CREATES 2 ACCOUNTS, BOTH ACCOUNT DEPOSIT MONEY AND ONE ACCOUNT TRIES TO WITHDRAW MORE MONEY WHICH GENERATES A LESSBALANCEEXCEPTION TAKE APPROPRIATE ACTION FOR THE SAME.
SOURCE CODE: import java.io.*; class LessBalanceException extends Exception { LessBalanceException(double amt) { System.out.println("withdrawing "+amt+" is invalid "); } } class Account { static int count=124; int an; double bal; String name; Account(double bal,String n) { System.out.println("\nNew Account Opened ..."); this.bal=bal; count++; an=count; name=n; System.out.println("Ur Customer ID is :"+an); } void deposit(double amt) { System.out.println("\nAvailable Balance : "+bal); bal=bal+amt; System.out.println("Rs."+amt+"/- Credited "); System.out.println("Balance : "+bal); } void withdraw(double amt)throws LessBalanceException { System.out.println("\nAvailable Balance : "+bal); bal=bal-amt;

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


if(bal<500) { bal=bal+amt; throw new LessBalanceException(amt); } System.out.println("Rs."+amt+"/- Debited"); System.out.println("Balance :\n"+bal); } void Balance() { System.out.println("Customer Information"); System.out.println("Customer ID : "+an); System.out.println("Name :"+name); System.out.println("Bal : "+bal); } } class AccountDemo1 { static int i=0;

public static void main(String arg[])throws IOException { Account ob[]=new Account[10]; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); double amt; String name; int ch; int an; boolean b=true,f=false; int k; while(b) { System.out.println("BANKING OPERATION"); System.out.println("1: Opening New Account"); System.out.println("2: Deposit"); System.out.println("3: Withdraw"); System.out.println("4: Balance"); System.out.println("5: Exit"); System.out.println("Enter ur choice"); ch=Integer.parseInt(br.readLine()); switch(ch) { case 1: System.out.println("Opening New Account"); System.out.print("Enter ur Name: "); name=br.readLine(); System.out.println("Enter initial amount(>Rs. 500/-)"); amt=Double.parseDouble(br.readLine()); ob[i]=new Account(amt,name);i++; break; case 2: System.out.println("Enter account number"); an=Integer.parseInt(br.readLine());

Dept. of MCA/Sir MVIT/ Bangalore

JAVA PROGRAMMING LABORATORY [10MCA37]


for(k=0;k<2;k++) if(an==ob[k].an) { f=true; break; } if(f) { System.out.println("Enter amount for deposit: "); amt=Double.parseDouble(br.readLine()); ob[k].deposit(amt); } else System.out.println("Invalid Account No"); break; case 3: System.out.println("Enter account number"); an=Integer.parseInt(br.readLine()); for(k=0;k<2;k++) if(an==ob[k].an) { f=true; break; } if(f) { System.out.println("Enter amount for deposit: "); amt=Double.parseDouble(br.readLine()); try { ob[k].withdraw(amt); }catch(LessBalanceException e){} } else System.out.println("Invalid Account No"); break; case 4: System.out.println("Enter account number"); an=Integer.parseInt(br.readLine()); for(k=0;k<2;k++) if(an==ob[k].an) { f=true; break; } if(f) { ob[k].Balance(); } else System.out.println("Invalid Account No"); break; case 5: b=false; System.exit(1); default :System.out.println("invalid choice"); } }

Dept. of MCA/Sir MVIT/ Bangalore

10

JAVA PROGRAMMING LABORATORY [10MCA37]


}}

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

11

JAVA PROGRAMMING LABORATORY [10MCA37]

Dept. of MCA/Sir MVIT/ Bangalore

12

JAVA PROGRAMMING LABORATORY [10MCA37]

Dept. of MCA/Sir MVIT/ Bangalore

13

JAVA PROGRAMMING LABORATORY [10MCA37]


4. WRITE A JAVA PROGRAM USING SYNCHRONIZED THREADS, WHICH DEMONSTRATES PRODUCER CONSUMER CONCEPT.
SOURCE CODE: public class ProducerConsumerTest { public static void main(String[] args) { CubbyHole c = new CubbyHole(); Producer p1 = new Producer(c, 1); Consumer c1 = new Consumer(c, 1); p1.start(); c1.start(); } } public class Producer extends Thread { private CubbyHole cubbyhole; private int number; public Producer(CubbyHole c, int number) { cubbyhole = c; this.number = number; } public void run() { for (int i = 0; i < 10; i++) { cubbyhole.put(i); System.out.println("Producer #" + this.number + " put: " + i); try { sleep((int)(Math.random() * 100)); } catch (InterruptedException e) { } } } } public class Consumer extends Thread { private CubbyHole cubbyhole; private int number; public Consumer(CubbyHole c, int number) { cubbyhole = c; this.number = number; } public void run() { int value = 0; for (int i = 0; i < 10; i++) { value = cubbyhole.get(); System.out.println("Consumer #" + this.number + " got: " + value); }

Dept. of MCA/Sir MVIT/ Bangalore

14

JAVA PROGRAMMING LABORATORY [10MCA37]


} } public class CubbyHole { private int contents; private boolean available = false; public synchronized int get() { while (available == false) { try { wait(); } catch (InterruptedException e) { } } available = false; notifyAll(); return contents; } public synchronized void put(int value) { while (available == true) { try { wait(); } catch (InterruptedException e) { } } contents = value; available = true; notifyAll(); } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

15

JAVA PROGRAMMING LABORATORY [10MCA37]


5. WRITE A JAVA PROGRAM WHICH HAS i. A INTERFACE CLASS FOR STACK OPERATIONS ii. A CLASS THAT IMPLEMENTS THE STACK INTERFACE AND CREATES A FIXED LENGTH STACK. iii. A CLASS THAT IMPLEMENTS THE STACK INTERFACE AND CREATES A DYNAMIC LENGTH STACK. iv. A CLASS THAT USES BOTH THE ABOVE STACKS THROUGH INTERFACE REFERENCE AND DOES THE STACK OPERATIONS THAT DEMONSTRATES THE RUNTIME BINDING.
SOURCE CODE: // Define an integer stack interface. interface IntStack { void push(int item); // store an item int pop(); // retrieve an item } // An implementation of IntStack that uses fixed storage. class FixedStack implements IntStack { private int stck[]; private int tos; // allocate and initialize stack FixedStack(int size) { stck = new int[size]; tos = -1; } // Push an item onto the stack public void push(int item) { if(tos==stck.length-1) // use length member System.out.println("Stack is full."); else stck[++tos] = item; } // Pop an item from the stack public int pop() { if(tos < 0) { System.out.println("Stack underflow."); return 0; } else return stck[tos--]; }} // Implement a "growable" stack. class DynStack implements IntStack { private int stck[]; private int tos; // allocate and initialize stack DynStack(int size) {

Dept. of MCA/Sir MVIT/ Bangalore

16

JAVA PROGRAMMING LABORATORY [10MCA37]


stck = new int[size]; tos = -1; } // Push an item onto the stack public void push(int item) { // if stack is full, allocate a larger stack if(tos==stck.length-1) { int temp[] = new int[stck.length * 2]; // double size for(int i=0; i<stck.length; i++) temp[i] = stck[i]; stck = temp; stck[++tos] = item; } else stck[++tos] = item; } // Pop an item from the stack public int pop() { if(tos < 0) { System.out.println("Stack underflow."); return 0; } else return stck[tos--]; }} /* Create an interface variable and access stacks through it. */ class IFTest3 { public static void main(String args[]) { IntStack mystack; // create an interface reference variable DynStack ds = new DynStack(5); FixedStack fs = new FixedStack(8); mystack = ds; // load dynamic stack // push some numbers onto the stack for(int i=0; i<12; i++) mystack.push(i); mystack = fs; // load fixed stack for(int i=0; i<8; i++) mystack.push(i); mystack = ds; System.out.println("Values in dynamic stack:"); for(int i=0; i<12; i++) System.out.println(mystack.pop()); mystack = fs; System.out.println("Values in fixed stack:"); for(int i=0; i<8; i++) System.out.println(mystack.pop()); }}

Dept. of MCA/Sir MVIT/ Bangalore

17

JAVA PROGRAMMING LABORATORY [10MCA37]


OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

18

JAVA PROGRAMMING LABORATORY [10MCA37]


6. WRITE A JAVA PROGRAM WHICH HAS i. TWO CLASSES WHICH INITIALIZES A STRING IN ITS CONSTRUCTOR ii. A GENERIC CLASS WITH 2 TYPE PARAMETERS iii. CREATE A GENERIC CLASS REFERENCE FOR THE ABOVE 2 CLASS AND TRY TO PRINT THE MESSAGE INSIDE THE CONSTRUCTOR (USE TO STRING METHOD).
SOURCE CODE: import java.io.*; import java.lang.String; class first { String s1; first(String s) { s1=s; } void disp() { System.out.println(s1); } } class second { String s2; second(String s) { s2=s; } void disp() { System.out.println(s2); } } class tg<T,V> { T ob1; V ob2; tg(T o1,V o2) { ob1=o1; ob2=o2; } public String toString()

Dept. of MCA/Sir MVIT/ Bangalore

19

JAVA PROGRAMMING LABORATORY [10MCA37]


{ System.out.println("type of T is " +ob1.getClass().getName()); System.out.println("type of V is " +ob2.getClass().getName()); return("object referece is used to call toString()"); } T getob1() { return ob1; } V getob2() { return ob2; } } class lab6 { public static void main(String args[]) { System.out.println("Initializing Strings in class Constructors:"); System.out.println("------------------------------"); first f = new first("class1"); second s = new second("class2"); f.disp(); s.disp(); System.out.println("------------------------------"); System.out.println("Two Type parameters using generic class"); System.out.println("------------------------------"); tg<Integer,String> conobj=new tg<Integer,String>(99,"Stringgenerics"); System.out.println(conobj); int v=conobj.getob1(); System.out.println("Value is : " +v); String str=conobj.getob2(); System.out.println("String is : " +str); System.out.println("--------------------------------------"); System.out.println("By using above two classes"); tg<first,second> obfs = new tg<first,second>(f,s); System.out.println(obfs); System.out.println("--------------------------------------"); } }

Dept. of MCA/Sir MVIT/ Bangalore

20

JAVA PROGRAMMING LABORATORY [10MCA37]

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

21

JAVA PROGRAMMING LABORATORY [10MCA37]


7. WRITE JAVA PROGRAMS WHICH DEMONSTRATES UTILITIES OF LINKEDLIST CLASS
SOURCE CODE: /* Demonstrate LinkedList.*/ import java.util.*; class LinkedListDemo { public static void main(String args[]) { // create a linked list LinkedList <String>ll = new LinkedList<String>(); // add elements to the linked list ll.add("F"); ll.add("B"); ll.add("D"); ll.add("E"); ll.add("C"); ll.addLast("Z"); ll.addFirst("A"); ll.add(1, "A2"); System.out.println("Original contents of ll: " + ll); // remove elements from the linked list ll.remove("F"); ll.remove(2); System.out.println("Contents of ll after deletion: "+ ll); // remove first and last elements ll.removeFirst(); ll.removeLast(); System.out.println("ll after deleting first and last: " + ll); // get and set a value Object val = ll.get(2); ll.set(2, (String) val + " Changed"); System.out.println("ll after change: " + ll); } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

22

JAVA PROGRAMMING LABORATORY [10MCA37]


8. WRITE A JAVA PROGRAM WHICH FILEOUTPUTSTREAM CLASSES. USES FILEINPUTSTREAM /

import java.io.*; public class FileInStreamDemo { public static void main(String[] args) { // create file object File file = new File("DevFile.txt"); int ch; StringBuffer strContent = new StringBuffer(""); FileInputStream fin = null; try { fin = new FileInputStream(file); while ((ch = fin.read()) != -1) strContent.append((char) ch); fin.close(); } catch (FileNotFoundException e) { System.out.println("File " + file.getAbsolutePath() + " could not be found on filesystem"); } catch (IOException ioe) { System.out.println("Exception while reading the file" + ioe); } System.out.println("File contents :"); System.out.println(strContent); } }

OUTPUT

OR import java.io.*; public class FileOutStreamDemo { public static void main(String[] args) { FileOutputStream out; // declare a file output object PrintStream p; // declare a print stream object try { // Create a new file output stream // connected to "DevFile.txt"

Dept. of MCA/Sir MVIT/ Bangalore

23

JAVA PROGRAMMING LABORATORY [10MCA37]


out = new FileOutputStream("DevFile.txt"); // Connect print stream to the output stream p = new PrintStream(out); p.println("The text shown here will write to a file after run"); System.out.println("The Text is written to DevFile.txt"); p.close(); } catch (Exception e) { System.err.println("Error writing to file"); } } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

24

JAVA PROGRAMMING LABORATORY [10MCA37]


9. WRITE A JAVA PROGRAM WHICH WRITES A OBJECT TO A FILE (USE TRANSIENT VARIABLE ALSO).
import java.util.Vector; import java.io.*; public class SerializationTest { static long start,end; OutputStream out = null; OutputStream outBuffer = null; ObjectOutputStream objectOut = null; public Person getObject(){ Person p = new Person("SID","austin"); Vector<String> v = new Vector<String>(); for(int i=0;i<7000;i++){ v.addElement("StringObject:" +i); } p.setData(v); return p; } public static void main(String[] args){ SerializationTest st = new SerializationTest(); start = System.currentTimeMillis(); st.writeObject(); end = System.currentTimeMillis(); System.out.println("Time taken for writing :"+ (end-start) + "milli seconds"); } public void writeObject(){ try{ out = new FileOutputStream("e:\\test.txt"); outBuffer = new BufferedOutputStream(out); objectOut = new ObjectOutputStream(outBuffer); objectOut.writeObject(getObject()); }catch(Exception e){e.printStackTrace();} finally{ if(objectOut != null) try{ objectOut.close();}catch(IOException e){e.printStackTrace();} } } } class Person implements java.io.Serializable { private String name; private transient Vector data; private String address; public Person(String name,String address){ this.name = name; this.address = address;

Dept. of MCA/Sir MVIT/ Bangalore

25

JAVA PROGRAMMING LABORATORY [10MCA37]


} public String getAddress(){ return address; } public Vector getData(){ return data; } public String getName(){ return name; } public void setData(Vector data){ this.data = data; } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

26

JAVA PROGRAMMING LABORATORY [10MCA37]


10. WRITE A JAVA PROGRAM WHICH USES DATAGRAM SOCKET FOR CLIENT SERVER COMMUNICATION.
SOURCE CODE: import java.net.*; class WriteServer { public static int serverPort = 998; public static int clientPort = 999; public static int buffer_size = 1024; public static DatagramSocket ds; public static byte buffer[] = new byte[buffer_size]; public static void TheServer() throws Exception { int pos=0; while (true) { int c = System.in.read(); switch (c) { case -1: System.out.println("Server Quits."); return; case '\r': break; case '\n': ds.send(new DatagramPacket(buffer,pos, InetAddress.getLocalHost(),clientPort)); pos=0; break; default: buffer[pos++] = (byte) c; } } } public static void TheClient() throws Exception { while(true) { DatagramPacket p = new DatagramPacket(buffer, buffer.length); ds.receive(p); System.out.println(new String(p.getData(), 0, p.getLength())); } } public static void main(String args[]) throws Exception { if(args.length == 1) { ds = new DatagramSocket(serverPort); TheServer(); } else { ds = new DatagramSocket(clientPort); TheClient(); } } }

Dept. of MCA/Sir MVIT/ Bangalore

27

JAVA PROGRAMMING LABORATORY [10MCA37]


OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

28

JAVA PROGRAMMING LABORATORY [10MCA37]


11. WRITE JAVA APPLET PROGRAMS WHICH HANDLES MOUSE EVENT
SOURCE CODE: import java.awt.*; import java.awt.event.*; import java.applet.*; /* <applet code="MouseEvents" width=300 height=100> </applet> */ public class MouseEvents extends Applet implements MouseListener, MouseMotionListener { String msg = ""; int mouseX = 0, mouseY = 0; // coordinates of mouse public void init() { addMouseListener(this); addMouseMotionListener(this); } // Handle mouse clicked. public void mouseClicked(MouseEvent me) { // save coordinates mouseX = 0; mouseY = 10; msg = "Mouse clicked."; repaint(); } // Handle mouse entered. public void mouseEntered(MouseEvent me) { // save coordinates mouseX = 0; mouseY = 10; msg = "Mouse entered."; repaint(); } // Handle mouse exited. public void mouseExited(MouseEvent me) { // save coordinates mouseX = 0; mouseY = 10; msg = "Mouse exited."; repaint(); } // Handle button pressed. public void mousePressed(MouseEvent me) { // save coordinates mouseX = me.getX(); mouseY = me.getY(); msg = "Down"; repaint(); } // Handle button released. public void mouseReleased(MouseEvent me) { // save coordinates

Dept. of MCA/Sir MVIT/ Bangalore

29

JAVA PROGRAMMING LABORATORY [10MCA37]


mouseX = me.getX(); mouseY = me.getY(); msg = "Up"; repaint(); } // Handle mouse dragged. public void mouseDragged(MouseEvent me) { // save coordinates mouseX = me.getX(); mouseY = me.getY(); msg = "*"; showStatus("Dragging mouse at " + mouseX + ", " + mouseY); repaint(); } // Handle mouse moved. public void mouseMoved(MouseEvent me) { // show status showStatus("Moving mouse at " + me.getX() + ", " + me.getY()); } // Display msg in applet window at current X,Y location. public void paint(Graphics g) { g.drawString(msg, mouseX, mouseY); } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

30

JAVA PROGRAMMING LABORATORY [10MCA37]

12. WRITE JAVA APPLET PROGRAMS WHICH HANDLES KEYBOARDEVENT


SOURCE CODE: // Demonstrate the key event handlers. import java.awt.*; import java.awt.event.*; import java.applet.*; /* <applet code="SimpleKey" width=300 height=100> </applet> */ public class SimpleKey extends Applet implements KeyListener { String msg = ""; int X = 10, Y = 20; // output coordinates public void init() { addKeyListener(this); } public void keyPressed(KeyEvent ke) { showStatus("Key Down"); } public void keyReleased(KeyEvent ke) { showStatus("Key Up"); } public void keyTyped(KeyEvent ke) { msg += ke.getKeyChar(); repaint(); } // Display keystrokes. public void paint(Graphics g) { g.drawString(msg, X, Y); } }

OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

31

JAVA PROGRAMMING LABORATORY [10MCA37]


13. WRITE A JAVA PROGRAM WHICH IMPLEMENTS RMI.
SOURCE CODE: AddServerIntf.java import java.rmi.*; public interface AddServerInf extends Remote { double add(double d1,double d2)throws RemoteException; } AddServerImpl.java import java.rmi.*; import java.net.*; import java.rmi.server.*; public class AddServerImpl extends UnicastRemoteObject implements AddServerIntf { public AddServerImpl()throws RemoteException{} public double add(double d1,double d2)throws RemoteException { return d1+d2; } } AddClient.java import java.rmi.*; public class AddClient { public static void main(String arg[]) { try { String addServerURL="rmi://"+arg[0]+"/AddServer"; AddServerIntf addServerIntf=(AddServerIntf)Naming.lookup(addServerURL); System.out.println("The first number is : "+arg[1]); double d1=Double.valueOf(arg[1]).doubleValue(); System.out.println("The Second number is : "+arg[2]); double d2=Double.valueOf(arg[2]).doubleValue(); System.out.println("The sum is: "+addServerIntf.add(d1,d2)); }catch(Exception e){} } } AddServer.java import java.net.*; import java.rmi.*; public class AddServer { public static void main(String arg[]) { try { AddServerImpl addServerImpl=new AddServerImpl(); Naming.rebind("AddServer",addServerImpl); }catch(Exception e){} } }

Dept. of MCA/Sir MVIT/ Bangalore

32

JAVA PROGRAMMING LABORATORY [10MCA37]


OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

33

JAVA PROGRAMMING LABORATORY [10MCA37]


14. WRITE A SWING APPLICATION WHICH USES i. JTABBED PANE ii. EACH TAB SHOULD USE JPANEL, WHICH INCLUDES ANY ONE COMPONENT GIVEN BELOW IN EACH PANEL iii. COMBOBOX / LIST / TREE / RADIOBUTTON
SOURCE CODE: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.tree.*; /* <applet code="Lab14" width=600 height=600> </applet> */ public class Lab14 extends JApplet { public void init() { try { SwingUtilities.invokeAndWait ( new Runnable() { public void run() { makeGUI(); } } ); } catch(Exception e) { System.out.println(e); } } private void makeGUI() { JTabbedPane jtp=new JTabbedPane(); jtp.addTab("Cities",new CitiesPanel()); jtp.addTab("Color",new ColorPanel()); jtp.addTab("Flavors",new FlaverPanel()); jtp.addTab("Gender",new GenderPanel()); jtp.addTab("USN",new USNPanel()); jtp.addTab("Course",new CoursePanel()); add(jtp); } } class CitiesPanel extends JPanel implements ActionListener {

Dept. of MCA/Sir MVIT/ Bangalore

34

JAVA PROGRAMMING LABORATORY [10MCA37]


JLabel clab; public CitiesPanel() { JButton b1=new JButton("NewYork"); b1.setActionCommand("NewYork"); b1.addActionListener(this); add(b1); JButton b2=new JButton("Landon"); b2.setActionCommand("Landon"); b2.addActionListener(this); add(b2); JButton b3=new JButton("HongKong"); b3.setActionCommand("HongKong"); b3.addActionListener(this); add(b3); JButton b4=new JButton("Tokyo"); b4.setActionCommand("Tokyo"); b4.addActionListener(this); add(b4); clab=new JLabel("Click a Button"); add(clab); } public void actionPerformed(ActionEvent ae) { clab.setText("You Clicked : "+ae.getActionCommand()); } } class ColorPanel extends JPanel implements ItemListener { JLabel colab; JCheckBox cb; public ColorPanel() { cb=new JCheckBox("red"); cb.addItemListener(this); add(cb); cb=new JCheckBox("green"); cb.addItemListener(this); add(cb); cb=new JCheckBox("Blue"); cb.addItemListener(this); add(cb); colab=new JLabel("Select A Color"); add(colab); } public void itemStateChanged(ItemEvent ie) { JCheckBox cb=(JCheckBox)ie.getItem(); if(cb.isSelected()) colab.setText(cb.getText() + " is Selected "); else colab.setText(cb.getText() + " is Cleared "); }

Dept. of MCA/Sir MVIT/ Bangalore

35

JAVA PROGRAMMING LABORATORY [10MCA37]


} class FlaverPanel extends JPanel implements ActionListener { String clist[]={"vanila","Choclate","Strawberry"}; JLabel flab; JComboBox jcb; public FlaverPanel() { jcb=new JComboBox(clist); jcb.addActionListener(this); add(jcb); flab=new JLabel("Select from Combo"); add(flab); } public void actionPerformed(ActionEvent ae) { flab.setText("You Selected : "+jcb.getSelectedItem()); } } class GenderPanel extends JPanel implements ActionListener { JLabel glab; public GenderPanel() { JRadioButton rb1=new JRadioButton("M"); rb1.addActionListener(this); add(rb1); JRadioButton rb2=new JRadioButton("F"); rb2.addActionListener(this); add(rb2); ButtonGroup bg1=new ButtonGroup(); bg1.add(rb1); bg1.add(rb2); glab=new JLabel("Select One"); add(glab); } public void actionPerformed(ActionEvent ae) { glab.setText("You Clicked : "+ae.getActionCommand()); } } class USNPanel extends JPanel implements ListSelectionListener { JLabel ulab; JList jlst; String Usn[]={"1BY10MCA01","1BY10MCA02","1BY10MCA03","1BY10MCA04","1BY10MCA0 5","1BY10MCA06","1BY10MCA07","1BY10MCA08","1BY10MCA09","1BY10MCA10"}; public USNPanel() { jlst=new JList(Usn); jlst.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); JScrollPane jscrlp=new JScrollPane(jlst);

Dept. of MCA/Sir MVIT/ Bangalore

36

JAVA PROGRAMMING LABORATORY [10MCA37]


jscrlp.setPreferredSize(new Dimension(100,80)); jlst.addListSelectionListener(this); add(jscrlp); ulab=new JLabel("Select One"); add(ulab); } public void valueChanged(ListSelectionEvent le) { int idx=jlst.getSelectedIndex(); if(idx!=-1) ulab.setText("Current Selection "+Usn[idx]); else ulab=new JLabel("Select One"); } } class CoursePanel extends JPanel implements TreeSelectionListener { JLabel tlab; public CoursePanel() { DefaultMutableTreeNode top =new DefaultMutableTreeNode("Course"); DefaultMutableTreeNode a =new DefaultMutableTreeNode("UG"); DefaultMutableTreeNode a1 =new DefaultMutableTreeNode("BA"); DefaultMutableTreeNode a2 =new DefaultMutableTreeNode("BSc"); DefaultMutableTreeNode a3 =new DefaultMutableTreeNode("BCA"); DefaultMutableTreeNode b =new DefaultMutableTreeNode("PG"); DefaultMutableTreeNode b1 =new DefaultMutableTreeNode("MA"); DefaultMutableTreeNode b2 =new DefaultMutableTreeNode("MSc"); DefaultMutableTreeNode b3 =new DefaultMutableTreeNode("MCA"); top.add(a); a.add(a1); a.add(a2); a.add(a3); top.add(b); b.add(b1); b.add(b2); b.add(b3); JTree jt=new JTree(top); JScrollPane jsp=new JScrollPane(jt); jsp.setPreferredSize(new Dimension(150,200)); jt.addTreeSelectionListener(this); add(jsp); tlab=new JLabel("Select One"); add(tlab); } public void valueChanged(TreeSelectionEvent tse) { tlab.setText("Current Selection "+tse.getPath()); } }

Dept. of MCA/Sir MVIT/ Bangalore

37

JAVA PROGRAMMING LABORATORY [10MCA37]


OUTPUT

Dept. of MCA/Sir MVIT/ Bangalore

38

Das könnte Ihnen auch gefallen