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() { [Link]("Default Constructor Initialized ...."); a=10;b=20; } Add(int x,int y) { [Link]("\nParameterized Constructor Initialized ...."); a=x;b=y; } void addition() { int sum; sum=a+b; [Link]("A = "+a); [Link]("B = "+b); [Link]("Sum = "+sum); } void addition(Add ob) { int sum; sum=ob.a+ob.b; [Link]("A = "+ob.a); [Link]("B = "+ob.b); [Link]("Sum = "+sum); } } class Addition { public static void main(String arg[]) { [Link]("CONSTRUCTOR AND METHOD OVERLOADING\n"); Add ob=new Add(); [Link](); Add ob1=new Add(100,300); [Link](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(); [Link](); } class Inner { int z=300; void display() { [Link]("Outer class private data x = "+x); [Link]("Outer class default data y = "+y); [Link]("Inner class data z = "+z); z=x+y+z; [Link]("Sum = "+z); } } } class InnerDemo { public static void main(String arg[]) { [Link]("INNER CLASS ACCESS PROTECTION\n"); Outer ob=new Outer(); [Link](); } }
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() { [Link]("A = "+a); } } class B extends A { int b; void showB() { [Link]("B = "+b); } void sum() { int z; z=a+b; showA(); showB(); [Link]("Sum = "+z); } } class InheritDemo { public static void main(String arg[]) { [Link]("DEMONSTRATION OF INHERITANCE\n"); B ob=new B(); ob.a=10; ob.b=20; [Link](); } }
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=[Link]; int b=42/a; [Link]("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) { [Link]("Array index out-of-bounds: "+e); } }catch(ArithmeticException e) { [Link]("Divide by 0: "+e); } finally { [Link]("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 [Link].*; class LessBalanceException extends Exception { LessBalanceException(double amt) { [Link]("withdrawing "+amt+" is invalid "); } } class Account { static int count=124; int an; double bal; String name; Account(double bal,String n) { [Link]("\nNew Account Opened ..."); [Link]=bal; count++; an=count; name=n; [Link]("Ur Customer ID is :"+an); } void deposit(double amt) { [Link]("\nAvailable Balance : "+bal); bal=bal+amt; [Link]("Rs."+amt+"/- Credited "); [Link]("Balance : "+bal); } void withdraw(double amt)throws LessBalanceException { [Link]("\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); } [Link]("Rs."+amt+"/- Debited"); [Link]("Balance :\n"+bal); } void Balance() { [Link]("Customer Information"); [Link]("Customer ID : "+an); [Link]("Name :"+name); [Link]("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([Link])); double amt; String name; int ch; int an; boolean b=true,f=false; int k; while(b) { [Link]("BANKING OPERATION"); [Link]("1: Opening New Account"); [Link]("2: Deposit"); [Link]("3: Withdraw"); [Link]("4: Balance"); [Link]("5: Exit"); [Link]("Enter ur choice"); ch=[Link]([Link]()); switch(ch) { case 1: [Link]("Opening New Account"); [Link]("Enter ur Name: "); name=[Link](); [Link]("Enter initial amount(>Rs. 500/-)"); amt=[Link]([Link]()); ob[i]=new Account(amt,name);i++; break; case 2: [Link]("Enter account number"); an=[Link]([Link]());
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) { [Link]("Enter amount for deposit: "); amt=[Link]([Link]()); ob[k].deposit(amt); } else [Link]("Invalid Account No"); break; case 3: [Link]("Enter account number"); an=[Link]([Link]()); for(k=0;k<2;k++) if(an==ob[k].an) { f=true; break; } if(f) { [Link]("Enter amount for deposit: "); amt=[Link]([Link]()); try { ob[k].withdraw(amt); }catch(LessBalanceException e){} } else [Link]("Invalid Account No"); break; case 4: [Link]("Enter account number"); an=[Link]([Link]()); for(k=0;k<2;k++) if(an==ob[k].an) { f=true; break; } if(f) { ob[k].Balance(); } else [Link]("Invalid Account No"); break; case 5: b=false; [Link](1); default :[Link]("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); [Link](); [Link](); } } public class Producer extends Thread { private CubbyHole cubbyhole; private int number; public Producer(CubbyHole c, int number) { cubbyhole = c; [Link] = number; } public void run() { for (int i = 0; i < 10; i++) { [Link](i); [Link]("Producer #" + [Link] + " put: " + i); try { sleep((int)([Link]() * 100)); } catch (InterruptedException e) { } } } } public class Consumer extends Thread { private CubbyHole cubbyhole; private int number; public Consumer(CubbyHole c, int number) { cubbyhole = c; [Link] = number; } public void run() { int value = 0; for (int i = 0; i < 10; i++) { value = [Link](); [Link]("Consumer #" + [Link] + " 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==[Link]-1) // use length member [Link]("Stack is full."); else stck[++tos] = item; } // Pop an item from the stack public int pop() { if(tos < 0) { [Link]("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==[Link]-1) { int temp[] = new int[[Link] * 2]; // double size for(int i=0; i<[Link]; 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) { [Link]("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++) [Link](i); mystack = fs; // load fixed stack for(int i=0; i<8; i++) [Link](i); mystack = ds; [Link]("Values in dynamic stack:"); for(int i=0; i<12; i++) [Link]([Link]()); mystack = fs; [Link]("Values in fixed stack:"); for(int i=0; i<8; i++) [Link]([Link]()); }}
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 [Link].*; import [Link]; class first { String s1; first(String s) { s1=s; } void disp() { [Link](s1); } } class second { String s2; second(String s) { s2=s; } void disp() { [Link](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]
{ [Link]("type of T is " +[Link]().getName()); [Link]("type of V is " +[Link]().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[]) { [Link]("Initializing Strings in class Constructors:"); [Link]("------------------------------"); first f = new first("class1"); second s = new second("class2"); [Link](); [Link](); [Link]("------------------------------"); [Link]("Two Type parameters using generic class"); [Link]("------------------------------"); tg<Integer,String> conobj=new tg<Integer,String>(99,"Stringgenerics"); [Link](conobj); int v=conobj.getob1(); [Link]("Value is : " +v); String str=conobj.getob2(); [Link]("String is : " +str); [Link]("--------------------------------------"); [Link]("By using above two classes"); tg<first,second> obfs = new tg<first,second>(f,s); [Link](obfs); [Link]("--------------------------------------"); } }
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 [Link].*; class LinkedListDemo { public static void main(String args[]) { // create a linked list LinkedList <String>ll = new LinkedList<String>(); // add elements to the linked list [Link]("F"); [Link]("B"); [Link]("D"); [Link]("E"); [Link]("C"); [Link]("Z"); [Link]("A"); [Link](1, "A2"); [Link]("Original contents of ll: " + ll); // remove elements from the linked list [Link]("F"); [Link](2); [Link]("Contents of ll after deletion: "+ ll); // remove first and last elements [Link](); [Link](); [Link]("ll after deleting first and last: " + ll); // get and set a value Object val = [Link](2); [Link](2, (String) val + " Changed"); [Link]("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 [Link].*; public class FileInStreamDemo { public static void main(String[] args) { // create file object File file = new File("[Link]"); int ch; StringBuffer strContent = new StringBuffer(""); FileInputStream fin = null; try { fin = new FileInputStream(file); while ((ch = [Link]()) != -1) [Link]((char) ch); [Link](); } catch (FileNotFoundException e) { [Link]("File " + [Link]() + " could not be found on filesystem"); } catch (IOException ioe) { [Link]("Exception while reading the file" + ioe); } [Link]("File contents :"); [Link](strContent); } }
OUTPUT
OR import [Link].*; 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 "[Link]"
Dept. of MCA/Sir MVIT/ Bangalore
23
JAVA PROGRAMMING LABORATORY [10MCA37]
out = new FileOutputStream("[Link]"); // Connect print stream to the output stream p = new PrintStream(out); [Link]("The text shown here will write to a file after run"); [Link]("The Text is written to [Link]"); [Link](); } catch (Exception e) { [Link]("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 [Link]; import [Link].*; 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++){ [Link]("StringObject:" +i); } [Link](v); return p; } public static void main(String[] args){ SerializationTest st = new SerializationTest(); start = [Link](); [Link](); end = [Link](); [Link]("Time taken for writing :"+ (end-start) + "milli seconds"); } public void writeObject(){ try{ out = new FileOutputStream("e:\\[Link]"); outBuffer = new BufferedOutputStream(out); objectOut = new ObjectOutputStream(outBuffer); [Link](getObject()); }catch(Exception e){[Link]();} finally{ if(objectOut != null) try{ [Link]();}catch(IOException e){[Link]();} } } } class Person implements [Link] { private String name; private transient Vector data; private String address; public Person(String name,String address){ [Link] = name; [Link] = 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){ [Link] = 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 [Link].*; 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 = [Link](); switch (c) { case -1: [Link]("Server Quits."); return; case '\r': break; case '\n': [Link](new DatagramPacket(buffer,pos, [Link](),clientPort)); pos=0; break; default: buffer[pos++] = (byte) c; } } } public static void TheClient() throws Exception { while(true) { DatagramPacket p = new DatagramPacket(buffer, [Link]); [Link](p); [Link](new String([Link](), 0, [Link]())); } } public static void main(String args[]) throws Exception { if([Link] == 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 [Link].*; import [Link].*; import [Link].*; /* <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 = [Link](); mouseY = [Link](); 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 = [Link](); mouseY = [Link](); msg = "Up"; repaint(); } // Handle mouse dragged. public void mouseDragged(MouseEvent me) { // save coordinates mouseX = [Link](); mouseY = [Link](); msg = "*"; showStatus("Dragging mouse at " + mouseX + ", " + mouseY); repaint(); } // Handle mouse moved. public void mouseMoved(MouseEvent me) { // show status showStatus("Moving mouse at " + [Link]() + ", " + [Link]()); } // Display msg in applet window at current X,Y location. public void paint(Graphics g) { [Link](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 [Link].*; import [Link].*; import [Link].*; /* <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 += [Link](); repaint(); } // Display keystrokes. public void paint(Graphics g) { [Link](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: [Link] import [Link].*; public interface AddServerInf extends Remote { double add(double d1,double d2)throws RemoteException; } [Link] import [Link].*; import [Link].*; import [Link].*; public class AddServerImpl extends UnicastRemoteObject implements AddServerIntf { public AddServerImpl()throws RemoteException{} public double add(double d1,double d2)throws RemoteException { return d1+d2; } } [Link] import [Link].*; public class AddClient { public static void main(String arg[]) { try { String addServerURL="rmi://"+arg[0]+"/AddServer"; AddServerIntf addServerIntf=(AddServerIntf)[Link](addServerURL); [Link]("The first number is : "+arg[1]); double d1=[Link](arg[1]).doubleValue(); [Link]("The Second number is : "+arg[2]); double d2=[Link](arg[2]).doubleValue(); [Link]("The sum is: "+[Link](d1,d2)); }catch(Exception e){} } } [Link] import [Link].*; import [Link].*; public class AddServer { public static void main(String arg[]) { try { AddServerImpl addServerImpl=new AddServerImpl(); [Link]("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 [Link].*; import [Link].*; import [Link].*; import [Link].*; import [Link].*; /* <applet code="Lab14" width=600 height=600> </applet> */ public class Lab14 extends JApplet { public void init() { try { [Link] ( new Runnable() { public void run() { makeGUI(); } } ); } catch(Exception e) { [Link](e); } } private void makeGUI() { JTabbedPane jtp=new JTabbedPane(); [Link]("Cities",new CitiesPanel()); [Link]("Color",new ColorPanel()); [Link]("Flavors",new FlaverPanel()); [Link]("Gender",new GenderPanel()); [Link]("USN",new USNPanel()); [Link]("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"); [Link]("NewYork"); [Link](this); add(b1); JButton b2=new JButton("Landon"); [Link]("Landon"); [Link](this); add(b2); JButton b3=new JButton("HongKong"); [Link]("HongKong"); [Link](this); add(b3); JButton b4=new JButton("Tokyo"); [Link]("Tokyo"); [Link](this); add(b4); clab=new JLabel("Click a Button"); add(clab); } public void actionPerformed(ActionEvent ae) { [Link]("You Clicked : "+[Link]()); } } class ColorPanel extends JPanel implements ItemListener { JLabel colab; JCheckBox cb; public ColorPanel() { cb=new JCheckBox("red"); [Link](this); add(cb); cb=new JCheckBox("green"); [Link](this); add(cb); cb=new JCheckBox("Blue"); [Link](this); add(cb); colab=new JLabel("Select A Color"); add(colab); } public void itemStateChanged(ItemEvent ie) { JCheckBox cb=(JCheckBox)[Link](); if([Link]()) [Link]([Link]() + " is Selected "); else [Link]([Link]() + " 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); [Link](this); add(jcb); flab=new JLabel("Select from Combo"); add(flab); } public void actionPerformed(ActionEvent ae) { [Link]("You Selected : "+[Link]()); } } class GenderPanel extends JPanel implements ActionListener { JLabel glab; public GenderPanel() { JRadioButton rb1=new JRadioButton("M"); [Link](this); add(rb1); JRadioButton rb2=new JRadioButton("F"); [Link](this); add(rb2); ButtonGroup bg1=new ButtonGroup(); [Link](rb1); [Link](rb2); glab=new JLabel("Select One"); add(glab); } public void actionPerformed(ActionEvent ae) { [Link]("You Clicked : "+[Link]()); } } 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); [Link](ListSelectionModel.SINGLE_SELECTION); JScrollPane jscrlp=new JScrollPane(jlst);
Dept. of MCA/Sir MVIT/ Bangalore
36
JAVA PROGRAMMING LABORATORY [10MCA37]
[Link](new Dimension(100,80)); [Link](this); add(jscrlp); ulab=new JLabel("Select One"); add(ulab); } public void valueChanged(ListSelectionEvent le) { int idx=[Link](); if(idx!=-1) [Link]("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"); [Link](a); [Link](a1); [Link](a2); [Link](a3); [Link](b); [Link](b1); [Link](b2); [Link](b3); JTree jt=new JTree(top); JScrollPane jsp=new JScrollPane(jt); [Link](new Dimension(150,200)); [Link](this); add(jsp); tlab=new JLabel("Select One"); add(tlab); } public void valueChanged(TreeSelectionEvent tse) { [Link]("Current Selection "+[Link]()); } }
Dept. of MCA/Sir MVIT/ Bangalore
37
JAVA PROGRAMMING LABORATORY [10MCA37]
OUTPUT
Dept. of MCA/Sir MVIT/ Bangalore
38