Lab Programs
1. Create UDP Client and Server Socket
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class UDPServer {
public static void main(String[] args) {
try {
DatagramSocket serverSocket = new DatagramSocket(3300);
System.out.println("Server Started...");
byte[] buffer = new byte[1024];
Scanner scanner = new Scanner(System.in);
String message="hi client";
while (!message.equalsIgnoreCase("stop")) {
// Receiving a message
DatagramPacket receivedPacket = new DatagramPacket(buffer,
buffer.length);
serverSocket.receive(receivedPacket);
String receivedMessage = new String(receivedPacket.getData(), 0,
receivedPacket.getLength());
System.out.println("Client: " + receivedMessage);
// Sending a message
System.out.print("Server : ");
message = scanner.nextLine();
byte[] sendData = message.getBytes();
InetAddress clientAddress = receivedPacket.getAddress();
int clientPort = receivedPacket.getPort();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, clientAddress, clientPort);
serverSocket.send(sendPacket);
}
serverSocket.close();
scanner.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;
public class UDPClient {
public static void main(String[] args) {
try {
DatagramSocket clientSocket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost");
byte[] buffer = new byte[1024];
Scanner scanner = new Scanner(System.in);
String message="";
while (!message.equalsIgnoreCase("stop")) {
System.out.print("Client : " );
message = scanner.nextLine();
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, serverAddress, 3300);
clientSocket.send(sendPacket);
// Receiving a message
DatagramPacket receivedPacket = new DatagramPacket(buffer,
buffer.length);
clientSocket.receive(receivedPacket);
String receivedMessage = new String(receivedPacket.getData(), 0,
receivedPacket.getLength());
System.out.println("Server: " + receivedMessage);
}
clientSocket.close();
scanner.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
2. Create TCP Client and Server Socket
import java.net.*;
import java.io.*;
class TCPServer{
public static void main(String args[])throws Exception{
ServerSocket ss=new ServerSocket(3333);
Socket s=ss.accept();
DataInputStream din=new DataInputStream(s.getInputStream());
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
String str="",str2="";
while(!str.equals("stop")){
str=din.readUTF();
System.out.println("Server : "+str2);
System.out.println("client : "+str);
str2=br.readLine();
dout.writeUTF(str2);
dout.flush();
}
din.close();
s.close();
ss.close();
}
}
import java.net.*;
import java.io.*;
class MyClient{
public static void main(String args[])throws Exception{
Socket s=new Socket("localhost",3333);
DataInputStream din=new DataInputStream(s.getInputStream());
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
String str="",str2="";
while(!str.equals("stop")){
str=br.readLine();
dout.writeUTF(str);
dout.flush();
str2=din.readUTF();
System.out.println("Client : "+str);
System.out.println("Server : "+str2);
}
dout.close();
s.close();
}
}
3. Demonstrate the usage of different Layouts in Java Swing
Example: Using Layout Managers
package myPack;
import javax.swing.*;
import java.awt.*;
public class LayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Layout Example");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new JButton("North"), BorderLayout.NORTH);
frame.add(new JButton("South"), BorderLayout.SOUTH);
frame.add(new JButton("East"), BorderLayout.EAST);
frame.add(new JButton("West"), BorderLayout.WEST);
frame.add(new JButton("Center"), BorderLayout.CENTER);
frame.setVisible(true);
}
}
Example: FlowLayout
package myPack;
import javax.swing.*;
import java.awt.*;
public class FlowLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("FlowLayout Example");
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 20, 10));
panel.add(new JButton("Button 1"));
panel.add(new JButton("Button 2"));
panel.add(new JButton("Button 3"));
frame.add(panel);
frame.setVisible(true);
}
}
Example: GridLayout
package myPack;
import javax.swing.*;
import java.awt.*;
public class GridLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("GridLayout Example");
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout(2, 2, 10, 10));
frame.add(new JButton("1"));
frame.add(new JButton("2"));
frame.add(new JButton("3"));
frame.add(new JButton("4"));
frame.setVisible(true);
}
}
Example: CardLayout
package myPack;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardLayoutExample implements ItemListener {
JPanel cards;
final static String BUTTONPANEL = "JPanel with JButtons";
final static String TEXTPANEL = "JPanel with JTextField";
public void addComponentToPane(Container pane) {
JPanel comboBoxPane = new JPanel();
String comboBoxItems[] = { BUTTONPANEL, TEXTPANEL };
JComboBox cb = new JComboBox(comboBoxItems);
cb.setEditable(false);
cb.addItemListener(this);
comboBoxPane.add(cb);
JPanel card1 = new JPanel();
card1.add(new JButton("Button 1"));
card1.add(new JButton("Button 2"));
card1.add(new JButton("Button 3"));
JPanel card2 = new JPanel();
card2.add(new JTextField("TextField", 20));
cards = new JPanel(new CardLayout());
cards.add(card1, BUTTONPANEL);
cards.add(card2, TEXTPANEL);
pane.add(comboBoxPane, BorderLayout.PAGE_START);
pane.add(cards, BorderLayout.CENTER);
}
public void itemStateChanged(ItemEvent evt) {
CardLayout cl = (CardLayout)(cards.getLayout());
cl.show(cards, (String)evt.getItem());
}
private static void createAndShowGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("CardLayoutDemo");
frame.setSize(600,600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
CardLayoutExample demo = new CardLayoutExample();
demo.addComponentToPane(frame.getContentPane());
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
BoxLayout
package myPack;
import javax.swing.*;
import java.awt.*;
public class BoxLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("BoxLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(new JButton("Button 1"));
panel.add(new JButton("Button 2"));
panel.add(new JButton("Button 3"));
frame.add(panel);
frame.setVisible(true);
}
}
package myPack;
import javax.swing.*;
import java.awt.*;
public class BoxLayoutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("BoxLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.add(new JButton("Button 1"));
panel.add(new JButton("Button 2"));
panel.add(new JButton("Button 3"));
frame.add(panel);
frame.setVisible(true);
}
}
4. Demonstrate various GUI components in Java Swing with appropriate Event
Handling.
Student Registration Form
5. Program to demonstrate database CRUD operations
package myPack;
import java.sql.*;
import java.util.Scanner;
public class MyDb {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydb","root","qR7rCBWnjQ)u");
int ch=0,reg;
String na,quer;
ResultSet rs;
while (ch != 5) {
Statement stmt=con.createStatement();
System.out.println (" Menu ");
System.out.println ("*------*");
System.out.println ("1. Display the Table");
System.out.println ("2. Add a Record");
System.out.println ("3. Update a Record");
System.out.println ("4. Delete a Record");
System.out.println ("5. Exit");
System.out.println (" Enter Ur Choice : ");
ch = sc.nextInt();
switch (ch) {
case 1:
rs=stmt.executeQuery("select * from student");
System.out.println (" Reg. NO
Name ");
System.out.println ("*-------------------------------
*");
while(rs.next())
System.out.println(rs.getInt(1)+"
"+rs.getString(2));
break;
case 2:
System.out.println ("Adding a Record. Enter the
details below...");
System.out.println ("Reg. No. : ");
reg = sc.nextInt();
System.out.println ("Name : ");
na = sc.next();
quer = "Insert into student values (" + reg + ",'"
+ na +"');" ;
stmt.execute(quer);
break;
case 3:
System.out.println ("Updatiing a Record...");
System.out.println ("Enter the Reg. No. : ");
reg = sc.nextInt();
System.out.println ("Enter the Name to update :
");
na = sc.next();
quer = "update student 1set name = '"+ na +"'
where regno = " + reg+";";
stmt.execute(quer);
break;
case 4:
System.out.println ("Deleting a Record...");
System.out.println ("Enter the Reg. No. : ");
reg = sc.nextInt();
quer = "Delete from student where regno =
"+reg+ ";";
stmt.execute(quer);
break;
case 5:
System.out.println ("Thank You, Program
Ends...");
break;
default :
System.out.println ("Invalid Choice");
break;
}
}
sc.close();
con.close();
} catch(Exception e){
System.out.println(e);
}
}