Assignment 5
Assignment 5
a. Calculator application
Code:
Icalc.java
package rmicalc;
import java.rmi.*;
/**
* @author Karan
*/
Calremote.java
package rmicalc;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
/**
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
* @author Karan
*/
super();
@Override
return (a+b);
@Override
return (a-b);
@Override
return (a*b);
@Override
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
return (a/b);
@Override
return (a%b);
Server.java
/*
*/
package rmicalc;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
/**
* @author Karan
*/
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
try
reg.rebind("Server",s);
System.out.println("Server is ready!");
catch(Exception e)
System.out.println(e);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Client.java
package rmicalc;
import java.io.*;
import java.util.*;
import java.rmi.*;
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.awt.Cursor;
import java.awt.Font;
import java.util.regex.Pattern;
import java.awt.Color;
import javax.swing.*;
import java.lang.Math;
/**
* @author Karan
*/
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btnMul, btn4, btn5, btn6, btnSub, btn1, btn2, btn3, btnAdd, btnPoint, btn0,
btnEqual, btnRoot, btnPower, btnLog, btnSwitchThemes, btnSwitchToScientificMode;
private client() {
// Button fonts
int j = -1;
int k = -1;
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
inText.setEditable(false);
inText.setBackground(Color.WHITE);
window.add(inText);
btnC.setFont(btnFont);
btnC.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnC.addActionListener(event -> {
repaintFont();
inText.setText("0");
val = 0;
});
window.add(btnC);
btnBack.setFont(btnFont);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btnBack.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnBack.addActionListener(event -> {
repaintFont();
str2.append(str.charAt(i));
if (str2.toString().equals("")) {
inText.setText("0");
} else {
inText.setText(str2.toString());
});
window.add(btnBack);
btnMod.setFont(btnFont);
btnMod.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnMod.addActionListener(event -> {
repaintFont();
if (Pattern.matches("([-]?\\d+[.]\\d*)|(\\d+)", inText.getText()))
if (go) {
if (Pattern.matches("[-]?[\\d]+[.][0]*", String.valueOf(val))) {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
inText.setText(String.valueOf((int) val));
} else {
inText.setText(String.valueOf(val));
opt = '%';
go = false;
addWrite = false;
});
window.add(btnMod);
btnDiv.setFont(btnFont);
btnDiv.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnDiv.addActionListener(event -> {
repaintFont();
if (Pattern.matches("([-]?\\d+[.]\\d*)|(\\d+)", inText.getText()))
if (go) {
if (Pattern.matches("[-]?[\\d]+[.][0]*", String.valueOf(val))) {
inText.setText(String.valueOf((int) val));
} else {
inText.setText(String.valueOf(val));
opt = '/';
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
go = false;
addWrite = false;
} else {
opt = '/';
});
window.add(btnDiv);
btn7.setFont(btnFont);
btn7.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn7.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("7");
} else {
inText.setText(inText.getText() + "7");
} else {
inText.setText("7");
addWrite = true;
go = true;
});
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
window.add(btn7);
btn8.setFont(btnFont);
btn8.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn8.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("8");
} else {
inText.setText(inText.getText() + "8");
} else {
inText.setText("8");
addWrite = true;
go = true;
});
window.add(btn8);
btn9.setFont(btnFont);
btn9.setCursor(new Cursor(Cursor.HAND_CURSOR));
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btn9.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("9");
} else {
inText.setText(inText.getText() + "9");
} else {
inText.setText("9");
addWrite = true;
go = true;
});
window.add(btn9);
btnMul.setFont(btnFont);
btnMul.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnMul.addActionListener(event -> {
repaintFont();
if (Pattern.matches("([-]?\\d+[.]\\d*)|(\\d+)", inText.getText()))
if (go) {
if (Pattern.matches("[-]?[\\d]+[.][0]*", String.valueOf(val))) {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
inText.setText(String.valueOf((int) val));
} else {
inText.setText(String.valueOf(val));
opt = '*';
go = false;
addWrite = false;
} else {
opt = '*';
});
window.add(btnMul);
btn4.setFont(btnFont);
btn4.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn4.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("4");
} else {
inText.setText(inText.getText() + "4");
} else {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
inText.setText("4");
addWrite = true;
go = true;
});
window.add(btn4);
btn5.setFont(btnFont);
btn5.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn5.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("5");
} else {
inText.setText(inText.getText() + "5");
} else {
inText.setText("5");
addWrite = true;
go = true;
});
window.add(btn5);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btn6.setFont(btnFont);
btn6.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn6.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("6");
} else {
inText.setText(inText.getText() + "6");
} else {
inText.setText("6");
addWrite = true;
go = true;
});
window.add(btn6);
btnSub.setFont(btnFont);
btnSub.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnSub.addActionListener(event -> {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
repaintFont();
if (Pattern.matches("([-]?\\d+[.]\\d*)|(\\d+)", inText.getText()))
if (go) {
if (Pattern.matches("[-]?[\\d]+[.][0]*", String.valueOf(val))) {
inText.setText(String.valueOf((int) val));
} else {
inText.setText(String.valueOf(val));
opt = '-';
go = false;
addWrite = false;
} else {
opt = '-';
});
window.add(btnSub);
btn1.setFont(btnFont);
btn1.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn1.addActionListener(event -> {
repaintFont();
if (addWrite) {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("1");
} else {
inText.setText(inText.getText() + "1");
} else {
inText.setText("1");
addWrite = true;
go = true;
});
window.add(btn1);
btn2.setFont(btnFont);
btn2.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn2.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("2");
} else {
inText.setText(inText.getText() + "2");
} else {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
inText.setText("2");
addWrite = true;
go = true;
});
window.add(btn2);
btn3.setFont(btnFont);
btn3.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn3.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("3");
} else {
inText.setText(inText.getText() + "3");
} else {
inText.setText("3");
addWrite = true;
go = true;
});
window.add(btn3);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btnAdd.setFont(btnFont);
btnAdd.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnAdd.addActionListener(event -> {
repaintFont();
if (Pattern.matches("([-]?\\d+[.]\\d*)|(\\d+)", inText.getText()))
if (go) {
if (Pattern.matches("[-]?[\\d]+[.][0]*", String.valueOf(val))) {
inText.setText(String.valueOf((int) val));
} else {
inText.setText(String.valueOf(val));
opt = '+';
go = false;
addWrite = false;
} else {
opt = '+';
});
window.add(btnAdd);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btnPoint.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnPoint.addActionListener(event -> {
repaintFont();
if (addWrite) {
inText.setText(inText.getText() + ".");
} else {
inText.setText("0.");
addWrite = true;
go = true;
});
window.add(btnPoint);
btn0.setFont(btnFont);
btn0.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn0.addActionListener(event -> {
repaintFont();
if (addWrite) {
if (Pattern.matches("[0]*", inText.getText())) {
inText.setText("0");
} else {
inText.setText(inText.getText() + "0");
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
} else {
inText.setText("0");
addWrite = true;
go = true;
});
window.add(btn0);
btnEqual.setFont(btnFont);
btnEqual.setCursor(new Cursor(Cursor.HAND_CURSOR));
btnEqual.addActionListener(event -> {
if (Pattern.matches("([-]?\\d+[.]\\d*)|(\\d+)", inText.getText()))
if (go) {
if (Pattern.matches("[-]?[\\d]+[.][0]*", String.valueOf(val))) {
inText.setText(String.valueOf((int) val));
} else {
inText.setText(String.valueOf(val));
opt = '=';
addWrite = false;
});
window.add(btnEqual);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
window.setLayout(null);
window.setResizable(false);
window.setBackground(Color.blue);
window.setVisible(true);
inText.setFont(inText.getFont().deriveFont(Font.BOLD));
double y = Double.parseDouble(input);
try
Registry reg=LocateRegistry.getRegistry("127.0.0.1",9999);
icalc ic = (icalc)reg.lookup("Server");
if (opt == '+') {
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
catch(Exception e)
System.out.println(e);
inText.setFont(inText.getFont().deriveFont(Font.PLAIN));
return y;
inText.setFont(inText.getFont().deriveFont(Font.PLAIN));
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
new client();
Output:
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Code:
Idate.java
package rmidate;
import java.rmi.*;
/**
* @author Karan
*/
Serveridt.java
package rmidate;
import java.rmi.*;
import java.rmi.server.*;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
/**
* @author Karan
*/
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
DateFormat df;
super();
@Override
df = new SimpleDateFormat("dd/MM/yyyy");
return(df.format(new Date()));
@Override
df = new SimpleDateFormat("HH:mm:ss");
return(df.format(new Date()));
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Server.java
package rmidate;
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
/**
* @author Karan
*/
try
reg.rebind("Server",d);
System.out.println("Server is ready!");
catch (Exception e)
e.printStackTrace();
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Client.java
package rmidate;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* @author Karan
*/
String date1,time1;
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btn_dt.setFont(btnFont);
window.add(btn_dt);
inText.setEditable(false);
inText.setBackground(Color.WHITE);
window.add(inText);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
btn_dt.addActionListener(c);
window.setLayout(null);
window.setResizable(false);
window.setBackground(Color.blue);
window.setVisible(true);
@Override
try
Registry reg=LocateRegistry.getRegistry("127.0.0.1",9999);
date1 = idt.date();
time1 = idt.time();
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
catch(Exception ex)
System.out.println(ex);
Output:
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
c. Temperature Conversion
Code:
Tempinterface.java
package rmitemp;
import java.rmi.*;
/**
* @author Karan
*/
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Tempimpl.java
package rmitemp;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
/**
* @author Karan
*/
super();
@Override
return ((x*9/5)+32);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
@Override
return ((x-32)*5/9);
@Override
return (x+273.15);
@Override
return (x-273.15);
@Override
@Override
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Server.java
package rmitemp;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
/**
* @author Karan
*/
try
reg.rebind("Server",s);
System.out.println("Server is ready!");
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
catch(Exception e)
System.out.println(e);
Client.java
/*
*/
package rmitemp;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.Math;
/**
* @author Karan
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
*/
String str1,str2;
double num,result;
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
input1.setEditable(true);
input1.setBackground(Color.WHITE);
window.add(input1);
input2.setEditable(true);
input2.setBackground(Color.WHITE);
window.add(input2);
combobox1.setEditable(false);
combobox1.setBackground(Color.WHITE);
combobox1.addItem("Celsius");
combobox1.addItem("Fahrenheit");
combobox1.addItem("Kelvin");
combobox1.setSelectedIndex(0);
window.add(combobox1);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
combobox2.setEditable(false);
combobox2.setBackground(Color.WHITE);
combobox2.addItem("Celsius");
combobox2.addItem("Fahrenheit");
combobox2.addItem("Kelvin");
combobox2.setSelectedIndex(1);
window.add(combobox2);
btn_submit.setFont(btnFont);
window.add(btn_submit);
btn_submit.addActionListener(c);
window.setLayout(null);
window.setResizable(false);
window.setBackground(Color.blue);
window.setVisible(true);
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
@Override
try
Registry reg=LocateRegistry.getRegistry("127.0.0.1",9999);
tempinterface in =(tempinterface)reg.lookup("Server");
str1 = combobox1.getSelectedItem().toString();
str2 = combobox2.getSelectedItem().toString();
num = Double.parseDouble(input1.getText().toString());
result = in.cel_fh(num);
input2.setText(Math.round(result)+ "");
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
result = in.fh_cel(num);
input2.setText(Math.round(result)+ "");
result = in.cel_kel(num);
input2.setText(Math.round(result)+ "");
result = in.kel_cel(num);
input2.setText(Math.round(result)+ "");
result = in.fh_kel(num);
input2.setText(Math.round(result)+ "");
result = in.kel_fh(num);
input2.setText(Math.round(result)+ "");
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
catch(Exception ex)
System.out.println(ex);
Output:
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020
SIES College of Management Studies TYMCA, Sem-V, Roll No : 24
Subject: MCAL502 [Choice Based] Open Source System for ADC Lab Nov 2020