Program of Rehan
Program of Rehan
import javax.swing.*;
public class WelcomeToJava {
public static void main(String[] args) {
JFrame frame = new JFrame("Welcome Window");
JLabel label = new JLabel("Welcome to Java", SwingConstants.CENTER);
frame.setSize(400, 200);
frame.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
Output:-
import java.awt.*;
import java.awt.event.*;
public class LanguageSelector {
Checkbox marathi, hindi , english, sanskrit;
public LanguageSelector() {
Frame f = new Frame("Language Selector");
f.setSize(300, 200);
Panel p = new Panel();
p.setLayout(new FlowLayout());
marathi = new Checkbox("Marathi");
hindi = new Checkbox("Hindi");
english = new Checkbox("English");
sanskrit = new Checkbox("Sanskrit");
p.add(marathi);
p.add(hindi);
p.add(english);
p.add(sanskrit);
f.add(p);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setVisible(true);
}
public static void main(String[] args) {
new LanguageSelector();
}
}
Output:-
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class CityListApplet extends Applet implements ActionListener {
List cityList;
TextField cityInput;
Button addButton;
Label feedbackLabel;
public CityListApplet() {
}
public void init() {
this.setLayout(new FlowLayout());
this.cityList = new List(10, false);
this.add(this.cityList);
this.cityInput = new TextField(20);
this.addButton = new Button("Add City");
this.add(new Label("Enter city name:"));
this.add(this.cityInput);
this.add(this.addButton);
this.feedbackLabel = new Label("");
this.add(this.feedbackLabel);
this.addButton.addActionListener(this);
}
public void actionPerformed(ActionEvent var1) {
if (var1.getSource() == this.addButton) {
String var2 = this.cityInput.getText().trim();
if (!var2.isEmpty()) {
boolean var3 = false;
String[] var4 = this.cityList.getItems();
int var5 = var4.length;
for (int var6 = 0; var6 < var5; ++var6) {
String var7 = var4[var6];
if (var7.equalsIgnoreCase(var2)) {
var3 = true;
break;
}
}
if (!var3) {
this.cityList.add(var2);
this.feedbackLabel.setText("");
} else {
this.feedbackLabel.setText("City already in list!");
}
this.cityInput.setText("");
} else {
this.feedbackLabel.setText("Please enter a city name!");
}
}
}
}
/*<applet code="CityListApplet.java" width="200" height="100"></applet>*/
Output:-
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class NewspaperSelector extends Applet implements ItemListener {
Checkbox newspaper1, newspaper2, newspaper3, newspaper4;
TextArea selectedNewspapers;
public void init() {
newspaper1 = new Checkbox("The Times Of India");
newspaper2 = new Checkbox("The Hindi");
newspaper3 = new Checkbox("Lokmat");
newspaper4 = new Checkbox("Hello Wardha");
newspaper1.addItemListener(this);
newspaper2.addItemListener(this);
newspaper3.addItemListener(this);
newspaper4.addItemListener(this);
selectedNewspapers = new TextArea(5, 30);
selectedNewspapers.setEditable(false);
add(newspaper1);
add(newspaper2);
add(newspaper3);
add(newspaper4);
add(selectedNewspapers);}
public void itemStateChanged(ItemEvent e) {
selectedNewspapers.setText("");
if (newspaper1.getState()) {
selectedNewspapers.append(newspaper1.getLabel() + "\n");
}
if (newspaper2.getState()) {
selectedNewspapers.append(newspaper2.getLabel() + "\n");
}
if (newspaper3.getState()) {
selectedNewspapers.append(newspaper3.getLabel() + "\n");
}
if (newspaper4.getState()) {
selectedNewspapers.append(newspaper4.getLabel() + "\n");
}
}
}
/*<applet code="NewspaperSelector.class" width="400" height="300"></applet>*/
Output:-
import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("GridLayout Demo");
frame.setLayout(new GridLayout(3, 2));
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 = new JButton("Button 3");
JButton button4 = new JButton("Button 4");
JButton button5 = new JButton("Button 5");
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.add(button4);
frame.add(button5);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import java.awt.*;
public class BorderLayoutDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("BorderLayout Demo");
frame.setLayout(new BorderLayout());
JButton northButton = new JButton("North");
JButton southButton = new JButton("South");
JButton westButton = new JButton("West");
JButton eastButton = new JButton("East");
JButton centerButton = new JButton("Center");
frame.add(northButton, BorderLayout.NORTH);
frame.add(southButton, BorderLayout.SOUTH);
frame.add(westButton, BorderLayout.WEST);
frame.add(eastButton, BorderLayout.EAST);
frame.add(centerButton, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import java.awt.*;
public class GridBagLayEx1 {
public static void main(String[] args) {
JFrame frame = new JFrame("GridBag Layout Example");
frame.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
JButton button1 = new JButton("Button One");
JButton button2 = new JButton("Button Two");
JButton button3 = new JButton("Button Three");
JButton button4 = new JButton("Button Four");
JButton button5 = new JButton("Button Five");
gbc.gridx = 0;
gbc.gridy = 0;
frame.add(button1, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
frame.add(button2, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
frame.add(button3, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
frame.add(button4, gbc);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 2;
gbc.fill = GridBagConstraints.HORIZONTAL;
frame.add(button5, gbc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import java.awt.*;
public class GridBagLayEx2 {
public static void main(String[] args) {
JFrame frame = new JFrame("GridBagLayout in Java Example");
frame.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
JLabel nameLabel = new JLabel("Name");
JTextField nameField = new JTextField(10);
JLabel commentsLabel = new JLabel("Comments");
JTextArea commentsArea = new JTextArea(5, 20);
JButton submitButton = new JButton("Submit");
gbc.gridx = 0;
gbc.gridy = 0;
frame.add(nameLabel, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.fill = GridBagConstraints.HORIZONTAL;
frame.add(nameField, gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.fill = GridBagConstraints.NONE;
frame.add(commentsLabel, gbc);
gbc.gridx = 1;
gbc.gridy = 1;
gbc.fill = GridBagConstraints.BOTH;
gbc.gridheight = 2;
frame.add(new JScrollPane(commentsArea), gbc);
gbc.gridx = 1;
gbc.gridy = 3;
gbc.fill = GridBagConstraints.NONE;
gbc.gridheight = 1;
frame.add(submitButton, gbc);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}
}
Output:-
import java.awt.*;
import java.awt.event.*;
public class ColorMenuApp extends Frame implements ActionListener {
Menu colorMenu;
MenuItem redItem, greenItem, blueItem, blackItem;
Label displayLabel;
public ColorMenuApp() {
super("Color Menu Example");
setLayout(new FlowLayout());
setSize(400, 200);
displayLabel = new Label("Select a color from the menu");
add(displayLabel);
MenuBar menuBar = new MenuBar();
colorMenu = new Menu("Colors");
redItem = new MenuItem("Red");
greenItem = new MenuItem("Green");
blueItem = new MenuItem("Blue");
blackItem = new MenuItem("Black");
blackItem.setEnabled(false);
colorMenu.add(redItem);
colorMenu.add(greenItem);
colorMenu.add(blueItem);
colorMenu.add(blackItem);
menuBar.add(colorMenu);
setMenuBar(menuBar);
redItem.addActionListener(this);
greenItem.addActionListener(this);
blueItem.addActionListener(this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
MenuItem selected = (MenuItem) e.getSource();
if (selected == redItem) {
displayLabel.setText("You selected Red");
setBackground(Color.RED);
} else if (selected == greenItem) {
displayLabel.setText("You selected Green");
setBackground(Color.GREEN);
} else if (selected == blueItem) {
displayLabel.setText("You selected Blue");
setBackground(Color.BLUE);
}
}
public static void main(String[] args) {
ColorMenuApp colorMenuApp = new ColorMenuApp();
colorMenuApp.setVisible(true);
}
}
/*<applet code="ColorMenuApp.java" width="200" height="100"></applet>*/
Output:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Indstate extends JFrame implements ActionListener {
JComboBox<String> stateComboBox;
JLabel selectedStateLabel;
public Indstate() {
super("State Selection");
setLayout(new FlowLayout());
String[] states = {"Maharashtra", "Karnataka", "Gujarat", "Rajasthan", "Punjab",
"Tamil Nadu", "West Bengal", "Kerala", "Uttar Pradesh", "Bihar"};
stateComboBox = new JComboBox<>(states);
stateComboBox.addActionListener(this);
selectedStateLabel = new JLabel("Selected State: None");
add(new JLabel("Select a state:"));
add(stateComboBox);
add(selectedStateLabel);
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
String selectedState = (String) stateComboBox.getSelectedItem();
selectedStateLabel.setText("Selected State: " + selectedState);
}
public static void main(String[] args) {
Indstate frame = new Indstate();
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import java.awt.*;
public class ScrollPaneEx{
public static void main(String[] args) {
JFrame frame = new JFrame("JScrollPane Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
for (int i = 1; i <= 50; i++) {
JLabel label = new JLabel("Label " + i);
panel.add(label);
}
JScrollPane scrollPane = new JScrollPane(panel);
frame.add(scrollPane);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
public class SwTreeEx {
public static void main(String[] args) {
JFrame frame = new JFrame("JTree Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");
DefaultMutableTreeNode child1 = new DefaultMutableTreeNode("Child 1");
DefaultMutableTreeNode child2 = new DefaultMutableTreeNode("Child 2");
DefaultMutableTreeNode grandChild1 = new
DefaultMutableTreeNode("Grandchild 1");
DefaultMutableTreeNode grandChild2 = new
DefaultMutableTreeNode("Grandchild 2");
root.add(child1);
root.add(child2);
child1.add(grandChild1);
child2.add(grandChild2);
JTree tree = new JTree(root);
JScrollPane scrollPane = new JScrollPane(tree);
frame.add(scrollPane);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class IndTree extends JFrame {
public IndTree() {
DefaultMutableTreeNode india = new DefaultMutableTreeNode("India");
DefaultMutableTreeNode maharashtra = new
DefaultMutableTreeNode("Maharashtra");
maharashtra.add(new DefaultMutableTreeNode("Mumbai"));
maharashtra.add(new DefaultMutableTreeNode("Pune"));
maharashtra.add(new DefaultMutableTreeNode("Nashik"));
maharashtra.add(new DefaultMutableTreeNode("Nagpur"));
india.add(maharashtra);
india.add(new DefaultMutableTreeNode("Gujarat"));
JTree tree = new JTree(india);
JScrollPane treeView = new JScrollPane(tree);
add(treeView);
setTitle("State-City Tree Example");
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new IndTree();
}
}
Output:-
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class StudentTable {
public static void main(String[] args) {
JFrame frame = new JFrame("Student Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
String[] columnNames = {"Name", "Percentage", "Grade"};
Object[][] data = new Object[10][3];
for (int i = 0; i < 10; i++) {
data[i][0] = "Student " + (i + 1);
data[i][1] = (int) (Math.random() * 101); // Generate random percentage
data[i][2] = calculateGrade((int) data[i][1]);
}
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
frame.add(scrollPane);
frame.setVisible(true);
}
private static String calculateGrade(int percentage) {
if (percentage >= 90) {
return "A";
} else if (percentage >= 80) {
return "B";
} else if (percentage >= 70) {
return "C";
} else if (percentage >= 60) {
return "D";
} else {
return "F";
}
}
}
Output:-
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class JProgressBarEx {
public static void main(String[] args) {
JFrame frame = new JFrame("Progress Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 150);
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
JButton startButton = new JButton("Start Task");
startButton.addActionListener(e -> {
new Thread(() -> {
progressBar.setValue(0);
int totalSteps = 100;
for (int i = 0; i < totalSteps; i++) {
try {
Thread.sleep(50 + new Random().nextInt(100)); // Simulate varying task
duration
progressBar.setValue((int) ((i + 1) * 100.0 / totalSteps));
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
).start();
}
);
JPanel panel = new JPanel();
panel.add(progressBar);
panel.add(startButton);
frame.add(panel);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class JProgressBarEx {
public static void main(String[] args) {
JFrame frame = new JFrame("Progress Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 150);
JProgressBar progressBar = new JProgressBar();
progressBar.setStringPainted(true);
JButton startButton = new JButton("Start Task");
startButton.addActionListener(e -> {
new Thread(() -> {
progressBar.setValue(0);
int totalSteps = 100;
for (int i = 0; i < totalSteps; i++) {
try {
Thread.sleep(50 + new Random().nextInt(100));
progressBar.setValue((int) ((i + 1) * 100.0 / totalSteps));
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
).start();
}
);
JPanel panel = new JPanel();
panel.add(progressBar);
panel.add(startButton);
frame.add(panel);
frame.setVisible(true);
}
}
Output:-
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MultiplyNum extends JFrame {
private JTextField number1Field;
private JTextField number2Field;
private JButton multiplyButton;
private JLabel resultLabel;
public MultiplyNum() {
setTitle("Multiply Two Numbers");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
JLabel number1Label = new JLabel("Number 1:");
number1Label.setBounds(30, 30, 80, 25);
add(number1Label);
number1Field = new JTextField();
number1Field.setBounds(120, 30, 130, 25);
add(number1Field);
JLabel number2Label = new JLabel("Number 2:");
number2Label.setBounds(30, 70, 80, 25);
add(number2Label);
number2Field = new JTextField();
number2Field.setBounds(120, 70, 130, 25);
add(number2Field);
multiplyButton = new JButton("Multiply");
multiplyButton.setBounds(90, 110, 100, 30);
add(multiplyButton);
resultLabel = new JLabel("Result: ");
resultLabel.setBounds(30, 150, 220, 25);
add(resultLabel);
multiplyButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
multiplyNumbers();
}
});
setVisible(true);
}
private void multiplyNumbers() {
try {
double num1 = Double.parseDouble(number1Field.getText());
double num2 = Double.parseDouble(number2Field.getText());
double product = num1 * num2;
resultLabel.setText("Result: " + product);
} catch (NumberFormatException e) {
resultLabel.setText("Please enter valid numbers.");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(MultiplyNum::new);
}
}
Output:-
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class ColorChangeApplet extends Applet implements MouseListener {
public ColorChangeApplet() {
addMouseListener(this);
}
@Override
public void init() {
setBackground(Color.WHITE);
}
@Override
public void mouseClicked(MouseEvent e) {
Color newColor = new Color((int) (Math.random() * 0x1000000));
setBackground(newColor);
repaint();
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void paint(Graphics g) {
g.setColor(Color.BLACK);
g.drawString("Click anywhere to change background color!", 20, 20);
}
}
/*<applet code="ColorChangeApplet.java" width="300" height="100"></applet>*/
Output:-
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ClickCounter extends JFrame {
private int clickCount = 0;
private JButton clickButton;
private JLabel countLabel;
public ClickCounter() {
setTitle("Click Counter");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
clickButton = new JButton("Click Me!");
clickButton.setBounds(100, 50, 100, 30);
add(clickButton);
countLabel = new JLabel("Click Count: 0");
countLabel.setBounds(100, 100, 150, 25);
add(countLabel);
clickButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
countClicks();
}
});
setVisible(true);
}
private void countClicks() {
clickCount++;
countLabel.setText("Click Count: " + clickCount);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(ClickCounter::new);
}
}
Output:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class UserAuthenti extends JFrame {
private JPasswordField passwordField;
private JButton loginButton;
private JLabel messageLabel;
private static final String USERNAME = "admin";
private static final String PASSWORD = "pass123";
public UserAuthenti() {
setTitle("User Authentication ");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(3, 2));
usernameField = new JTextField(15);
passwordField = new JPasswordField(15);
passwordField.setEchoChar('#');
loginButton = new JButton("Login");
messageLabel = new JLabel("");
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
authenticateUser (); }});
add(new JLabel("Username:"));
add(new JLabel("Password:"));
add(passwordField);
add(loginButton);
add(messageLabel);
setVisible(true);}
private void authenticateUser () {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
if (USERNAME.equals(username) && PASSWORD.equals(password)) {
messageLabel.setForeground(Color.GREEN);
messageLabel.setText("Login Successful!");
} else {
messageLabel.setForeground(Color.RED);
messageLabel.setText("Invalid Username or Password.");}}
public static void main(String[] args) {
SwingUtilities.invokeLater(UserAuthenti::new);}}
Output:-
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class AdditionApp {
public static void main(String[] args) {
JFrame frame = new JFrame("Addition of Two Numbers");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 200);
frame.setLayout(new FlowLayout());
JTextField number1Field = new JTextField(10);
JTextField number2Field = new JTextField(10);
JTextField resultField = new JTextField(10);
resultField.setEditable(false);
JButton addButton = new JButton("Add");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double num1 = Double.parseDouble(number1Field.getText());
double num2 = Double.parseDouble(number2Field.getText());
double sum = num1 + num2;
resultField.setText(String.valueOf(sum));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(frame, "Please enter valid numbers.",
"Input Error", JOptionPane.ERROR_MESSAGE);
}
}
});
frame.add(new JLabel("Number 1:"));
frame.add(number1Field);
frame.add(new JLabel("Number 2:"));
frame.add(number2Field);
frame.add(addButton);
frame.add(new JLabel("Result:"));
frame.add(resultField);
frame.setVisible(true);
}
}
Output:-
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class WindowAdapterDemo extends JFrame {
public WindowAdapterDemo() {
setTitle("WindowAdapter Demo");
setSize(300, 200);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int confirmed = JOptionPane.showConfirmDialog(
null,
"Are you sure you want to close this window?",
"Confirm Exit",
JOptionPane.YES_NO_OPTION
);
if (confirmed == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
JLabel label = new JLabel("Close the window to see the adapter in action.",
SwingConstants.CENTER);
add(label);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(WindowAdapterDemo::new);
}
}
Output:-
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Anoninnclass extends JFrame {
public Anoninnclass() {
setTitle("Anonymous Inner Class Demo");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
JLabel messageLabel = new JLabel("Click the button!", SwingConstants.CENTER);
messageLabel.setBounds(50, 20, 200, 30);
add(messageLabel);
JButton clickMeButton = new JButton("Click Me");
clickMeButton.setBounds(100, 70, 100, 30);
clickMeButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
messageLabel.setText("Button Clicked!");
}
});
add(clickMeButton);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(Anoninnclass::new);
}
}
Output:-
import java.net.*;
import java.util.Scanner;
public class IPAddressFinder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the hostname: ");
String hostname = scanner.nextLine();
try {
InetAddress inetAddress = InetAddress.getByName(hostname);
String ipAddress = inetAddress.getHostAddress();
System.out.println("IP address of " + hostname + " is: " + ipAddress);
} catch (UnknownHostException e) {
System.err.println("Unable to resolve hostname: " + hostname);
} finally {
scanner.close();
}
}
}
Output:-
import java.io.IOException;
import java.net.*;
public class URLclass {
public static void main(String[] args) {
try {
URL url = new URL("https://msbte.org.in/");
System.out.println("Protocol: " + url.getProtocol());
System.out.println("Host: " + url.getHost());
System.out.println("Port: " + url.getPort());
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
if (responseCode == HttpURLConnection.HTTP_OK) {
System.out.println("Successfully connected to the URL.");
} else {
System.out.println("Failed to connect. Response Code: " + responseCode);
}
connection.disconnect();
} catch (MalformedURLException e) {
System.out.println("Malformed URL: " + e.getMessage());
} catch (IOException e) {
System.out.println("IOException: " + e.getMessage());
}
}
}
Output:-
import java.io.IOException;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.*;
public class URLInfo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the URL: ");
String urlString = scanner.nextLine();
try {
URL url = new URL(urlString);
URLConnection connection = url.openConnection();
String contentType = connection.getContentType();
int contentLength = connection.getContentLength();
long lastModified = connection.getLastModified();
Date lastModifiedDate = new Date(lastModified);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy
HH:mm:ss");
String formattedDate = dateFormat.format(lastModifiedDate);
System.out.println("Content Type: " + contentType);
System.out.println("Content Length: " + contentLength + " bytes");
System.out.println("Last Modified: " + formattedDate);
} catch (MalformedURLException e) {
System.err.println("Invalid URL: " + e.getMessage());
} catch (IOException e) {
System.err.println("Error fetching information: " + e.getMessage());
}
}
}
Output:-
Server >
import java.io.*;
import java.net.*;
import java.util.Random;
public class ChartServer {
public static void main(String[] args) {
int port = 12345;
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server is listening on port " + port);
while (true) {
Socket socket = serverSocket.accept();
System.out.println("New client connected");
new ClientHandler(socket).start();
}
} catch (IOException ex) {
System.out.println("Server exception: " + ex.getMessage());
ex.printStackTrace();
}
}
}
class ClientHandler extends Thread {
private Socket socket;
public ClientHandler(Socket socket) {
this.socket = socket;
}
public void run() {
try (DataOutputStream out = new
DataOutputStream(socket.getOutputStream())) {
Random rand = new Random();
for (int i = 0; i < 10; i++) {
out.writeInt(rand.nextInt(100)); // Send random data
}
out.flush();
} catch (IOException ex) {
System.out.println("Client handler exception: " + ex.getMessage());
ex.printStackTrace();
} finally {
try {
socket.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
Client >
import java.io.*;
import java.net.*;
public class ChartClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 12345);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
for (int i = 0; i < 10; i++) {
double x = i;
double y = Math.random() * 100;
out.println(x + "," + y);
Thread.sleep(1000);
}
out.close();
socket.close();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
Server >
import java.io.*;
import java.net.*;
public class PrimeNumSer {
public static boolean isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
public static void main(String[] args) {
int port = 65432;
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("Server is listening on port " + port);
while (true) {
try (Socket socket = serverSocket.accept()) {
System.out.println("Connected to client: " + socket.getInetAddress());
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String inputLine = in.readLine();
int number = Integer.parseInt(inputLine);
boolean isPrime = isPrime(number);
String response = number + " is " + (isPrime ? "prime" : "not prime");
out.println(response);
} catch (IOException | NumberFormatException e) {
System.err.println("Error: " + e.getMessage());
}
}
} catch (IOException e) {
System.err.println("Could not listen on port " + port);
System.exit(-1);
}
}}
Client >
import java.io.*;
import java.net.*;
public class PrimeNumCli {
public static void main(String[] args) {
String host = "localhost";
int port = 65432;
try (Socket socket = new Socket(host, port)) {
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader userInput = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Enter a number: ");
int number = Integer.parseInt(userInput.readLine());
out.println(number);
String response = in.readLine();
System.out.println(response);
} catch (IOException | NumberFormatException e) {
System.err.println("Error: " + e.getMessage());
}}
}
Output:-
Server >
import java.net.*;
public class UDPServer {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
socket = new DatagramSocket(9876);
System.out.println("Server is listening on port 9876...");
byte[] receiveData = new byte[1024];
while (true) {
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
socket.receive(receivePacket);
String message = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Received: " + message);
String responseMessage = "ACK: " + message;
byte[] sendData = responseMessage.getBytes();
InetAddress clientAddress = receivePacket.getAddress();
int clientPort = receivePacket.getPort();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, clientAddress, clientPort);
socket.send(sendPacket);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
}
Client >
import java.net.*;
import java.util.Scanner;
public class UDPClient {
public static void main(String[] args) {
DatagramSocket socket = null;
Scanner scanner = new Scanner(System.in);
try {
socket = new DatagramSocket();
InetAddress serverAddress = InetAddress.getByName("localhost");
while (true) {
System.out.print("Enter a message : ");
String message = scanner.nextLine();
if (message.equalsIgnoreCase("exit")) {
break;
}
byte[] sendData = message.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, serverAddress, 9876);
socket.send(sendPacket);
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData,
receiveData.length);
socket.receive(receivePacket);
String responseMessage = new String(receivePacket.getData(), 0,
receivePacket.getLength());
System.out.println("Response from server: " + responseMessage);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
scanner.close();
}
}
Output:-
Server >
import java.io.*;
import java.net.*;
public class FileTransSer {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java FileTransferServer <port>");
return;
}
int port = Integer.parseInt(args[0]);
try (DatagramSocket socket = new DatagramSocket(port)) {
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
String fileName = new String(packet.getData(), 0, packet.getLength());
FileOutputStream fos = new FileOutputStream(fileName);
System.out.println("Receiving file: " + fileName);
while (true) {
socket.receive(packet);
String receivedData = new String(packet.getData(), 0, packet.getLength());
if (receivedData.equals("EOF")) {
break;
}
fos.write(packet.getData(), 0, packet.getLength());
}
fos.close();
System.out.println("File received successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Client >
import java.io.*;
import java.net.*;
public class FileTransCli {
public static void main(String[] args) {
if (args.length != 3) {
System.out.println("Usage: java FileTransferClient <file-to-send> <host>
<port>");
return;
}
String filePath = args[0];
String host = args[1];
int port = Integer.parseInt(args[2]);
try (DatagramSocket socket = new DatagramSocket()) {
File file = new File(filePath);
byte[] buffer = new byte[1024];
FileInputStream fis = new FileInputStream(file);
int bytesRead;
byte[] fileNameBytes = file.getName().getBytes();
DatagramPacket fileNamePacket = new DatagramPacket(fileNameBytes,
fileNameBytes.length, InetAddress.getByName(host), port);
socket.send(fileNamePacket);
while ((bytesRead = fis.read(buffer)) != -1) {
DatagramPacket packet = new DatagramPacket(buffer, bytesRead,
InetAddress.getByName(host), port);
socket.send(packet);
}
byte[] eof = "EOF".getBytes();
DatagramPacket eofPacket = new DatagramPacket(eof, eof.length,
InetAddress.getByName(host), port);
socket.send(eofPacket);
fis.close();
System.out.println("File sent successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
Output:-
import java.sql.*;
public class CreateEmpTable {
private static final String DB_URL =
"jdbc:mysql://localhost:3306/your_database_name";
private static final String USER = "your_username";
private static final String PASS = "your_password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Creating table in given database...");
stmt = conn.createStatement();
String sql = "CREATE TABLE employee (" +
"emp_id INT NOT NULL, " +
"emp_name VARCHAR(255), " +
"PRIMARY KEY (emp_id))";
stmt.executeUpdate(sql);
System.out.println("Table created successfully...");
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) stmt.close();
} catch (SQLException se) {
se.printStackTrace();
}
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
}
import java.sql.*;
public class StudentPer {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Error loading JDBC driver: " + e.getMessage());
return;
}
String url = "jdbc:mysql://localhost:3306/student_db";
String username = "your_username";
String password = "your_password";
try (Connection conn = DriverManager.getConnection(url, username, password))
{
String query = "SELECT name, roll_no FROM student WHERE percentage > 70";
try (PreparedStatement pstmt = conn.prepareStatement(query)) {
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
String name = rs.getString("name");
int rollNo = rs.getInt("roll_no");
System.out.println("Name: " + name + ", Roll No: " + rollNo);
}
}
}
} catch (Exception e) {
System.out.println("Error executing query: " + e.getMessage());
}
}
}
import java.sql.*;
public class JdbcRetrieveData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
String query = "SELECT id, name, salary FROM employees";
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement pstmt = conn.prepareStatement(query);
ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
double salary = rs.getDouble("salary");
System.out.println("ID: " + id + ", Name: " + name + ", Salary: " + salary);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.sql.*;
public class UpdateRecord {
private static final String DB_URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASS = "your_password";
public static void main(String[] args) {
int idToUpdate = 1;
String newName = "Updated Name";
updateRecord(idToUpdate, newName);
}
public static void updateRecord(int id, String newName) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
String sql = "UPDATE your_table SET name = ? WHERE id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newName);
pstmt.setInt(2, id);
int rowsAffected = pstmt.executeUpdate();
System.out.println("Rows affected: " + rowsAffected);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
import java.sql.*;
public class UpdateStudName {
private static final String DB_URL = "jdbc:mysql://localhost:3306/your_database";
private static final String USER = "your_username";
private static final String PASS = "your_password";
public static void main(String[] args) {
String oldName = "Jack";
String newName = "John";
updateStudName(oldName, newName);
}
public static void updateStudName(String oldName, String newName) {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DriverManager.getConnection(DB_URL, USER, PASS);
String sql = "UPDATE students SET name = ? WHERE name = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newName);
pstmt.setString(2, oldName);
int rowsAffected = pstmt.executeUpdate();
System.out.println("Rows affected: " + rowsAffected);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteProdRec {
private static final String DB_URL =
"jdbc:mysql://localhost:3306/your_database_name";
private static final String USER = "your_username";
private static final String PASSWORD = "your_password";
public static void main(String[] args) {
try (Connection connection = DriverManager.getConnection(DB_URL, USER,
PASSWORD)) {
String sql = "DELETE FROM product WHERE price > ? AND ID = ?";
try (PreparedStatement preparedStatement =
connection.prepareStatement(sql)) {
preparedStatement.setDouble(1, 500);
preparedStatement.setString(2, "P1234");
int rowsAffected = preparedStatement.executeUpdate();
System.out.println("Records deleted: " + rowsAffected);
}
} catch (SQLException e) {
e.printStackTrace();
} }}
• Develops servlet program to print Hello MSBTE in browser window
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloMSBTEServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.getWriter().println("<h1>Hello MSBTE</h1>");
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/ReceiveServlet")
public class ReceiveServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String parameter = request.getParameter("parameter");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Received Parameter:</h2>");
out.println("<p>" + parameter + "</p>");
out.println("</body></html>");
out.close();
}
}
Performed by: Rehan Baig
• Developer servlet program to retrieve data from List and Radio Button using HTML
form
•
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/RetrieveServlet")
public class RaButtServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String color = request.getParameter("color");
String agree = request.getParameter("agree");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Form Submission Details</h2>");
out.println("<p>Selected Color: " + color + "</p>");
out.println("<p>Agreement: " + (agree != null ? agree : "No selection") + "</p>");
out.println("</body></html>");
out.close();
}} Performed by: Rehan Baig
• Develop a program to receive student subject marks through HTML forms TextField
and send a response as passed or Failed in examination…
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionDetailsServlet")
public class SessServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession(true);
String sessionId = session.getId();
long creationTime = session.getCreationTime();
long lastAccessedTime = session.getLastAccessedTime();
int maxInactiveInterval = session.getMaxInactiveInterval();
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Session Details</h2>");
out.println("<p><strong>Session ID:</strong> " + sessionId + "</p>");
out.println("<p><strong>Session Creation Time:</strong> " + new
Date(creationTime) + "</p>");
out.println("<p><strong>Last Accessed Time:</strong> " + new
Date(lastAccessedTime) + "</p>");
out.println("<p><strong>Max Inactive Interval:</strong> " + maxInactiveInterval
+ " seconds</p>");
out.println("<p><strong>Is New Session:</strong> " + (session.isNew() ? "Yes" :
"No") + "</p>");
if (session.isNew()) {
out.println("<p>This is a new session created for you.</p>");
} else {
out.println("<p>This session has been accessed before.</p>");
}
out.println("</body></html>");
out.close();
}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionTimeoutServlet")
public class TimeoutServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession(true);
int sessionTimeoutInSeconds = 60;
session.setMaxInactiveInterval(sessionTimeoutInSeconds);
long lastAccessedTime = session.getLastAccessedTime();
boolean isNewSession = session.isNew();
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Session Timeout Example</h2>");
if (isNewSession) {
out.println("<p>This is a new session created for you.</p>");
} else {
out.println("<p>Last Accessed Time: " + new Date(lastAccessedTime) +
"</p>");
}
out.println("<p>Session will expire if inactive for " + sessionTimeoutInSeconds +
" seconds.</p>");
if (request.getRequestedSessionId() != null && !session.isNew()) {
out.println("<p>Session is active.</p>");
} else {
out.println("<p>Session has expired due to inactivity or is new.</p>");
}
out.println("</body></html>");
out.close();
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/UserInfoServlet")
public class UserInfoServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String username = request.getParameter("username");
String email = request.getParameter("email");
Cookie usernameCookie = new Cookie("username", username);
Cookie emailCookie = new Cookie("email", email);
usernameCookie.setMaxAge(86400);
emailCookie.setMaxAge(86400);
response.addCookie(usernameCookie);
response.addCookie(emailCookie);
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Welcome, " + username + "!</h2>");
out.println("<p>Your email is: " + email + "</p>");
out.println("<p>Your information has been saved in cookies.</p>");
out.println("</body></html>");
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
Cookie[] cookies = request.getCookies();
String username = null;
String email = null;
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
username = cookie.getValue();
} else if (cookie.getName().equals("email")) {
email = cookie.getValue();
}
}
}
PrintWriter out = response.getWriter();
out.println("<html><body>");
if (username != null && email != null) {
out.println("<h2>Welcome back, " + username + "!</h2>");
out.println("<p>Your email is: " + email + "</p>");
} else {
out.println("<h2>No user information found in cookies.</h2>");
out.println("<p>Please submit your information <a
href='userForm.html'>here</a>.</p>");
}
out.println("</body></html>");
out.close();
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/BrowserInfoServlet")
public class BrowserInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String userAgent = request.getHeader("User-Agent");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Browser Information</h2>");
out.println("<p><strong>Your Browser Information:</strong> " + userAgent +
"</p>");
out.println("<p><strong>Browser Details:</strong></p>");
out.println("<pre>" + parseUserAgent(userAgent) + "</pre>");
out.println("</body></html>");
out.close();
}
private String parseUserAgent(String userAgent) {
String browserName = "Unknown Browser";
String browserVersion = "Unknown Version";
if (userAgent.contains("Chrome")) {
browserName = "Google Chrome";
browserVersion = userAgent.split("Chrome/")[1].split(" ")[0];
} else if (userAgent.contains("Firefox")) {
browserName = "Mozilla Firefox";
browserVersion = userAgent.split("Firefox/")[1];
} else if (userAgent.contains("Safari")) {
browserName = "Safari";
browserVersion = userAgent.split("Version/")[1].split(" ")[0];
} else if (userAgent.contains("MSIE")) {
browserName = "Internet Explorer";
browserVersion = userAgent.split("MSIE ")[1].split(";")[0];
}
return "Browser Name: " + browserName + "\nVersion: " + browserVersion;
}
}