Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions part-1/E1.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ClickCounterApp extends JFrame implements ActionListener {
private JLabel counterLabel; // Displays the click count
private JButton clickButton; // Button to register clicks
private int count = 0; // Stores the current count

public ClickCounterApp() {
setTitle("Click Counter");
counterLabel = new JLabel("Clicks: 0", SwingConstants.CENTER);
clickButton = new JButton("Click Me");
clickButton.addActionListener(this);
setSize(500, 300);
setLayout(new BorderLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(counterLabel, BorderLayout.CENTER);
add(clickButton, BorderLayout.SOUTH);
}
@Override
public void actionPerformed(ActionEvent e) {
count++; // Increment the click counter
counterLabel.setText("Clicks: " + count);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new ClickCounterApp().setVisible(true));
}
}
44 changes: 44 additions & 0 deletions part-2/E2.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class GreetingFormApp extends JFrame implements ActionListener {
private JTextField nameField; // Field for user input
private JButton greetButton; // Button to trigger greeting
private JLabel messageLabel; // Label to display greeting

public GreetingFormApp() {
setTitle("Greeting Form");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 300);
nameField = new JTextField(15);
greetButton = new JButton("Greet");
messageLabel = new JLabel("Enter your name and press Greet.", SwingConstants.CENTER);

greetButton.addActionListener(this);

JPanel inputPanel = new JPanel();
inputPanel.add(new JLabel("Name:"));
inputPanel.add(nameField);
inputPanel.add(greetButton);

setLayout(new BorderLayout());
add(inputPanel, BorderLayout.NORTH);
add(messageLabel, BorderLayout.CENTER);
}

@Override
public void actionPerformed(ActionEvent e) {
String name = nameField.getText().trim();
if (name.isEmpty()) {
messageLabel.setText("Please enter a name.");
} else {
messageLabel.setText("Hello, " + name + "!");
}
}

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new GreetingFormApp().setVisible(true));
}
}
52 changes: 52 additions & 0 deletions part-3/E3.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ThemeColorSelectorApp extends JFrame implements ActionListener {
private JPanel mainPanel; // The panel whose background will change
private JButton redButton; // Button to select red theme
private JButton greenButton; // Button to select green theme
private JButton blueButton; // Button to select blue theme

public ThemeColorSelectorApp() {
setTitle("Theme Color Selector");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 400);
mainPanel = new JPanel();

redButton = new JButton("Red");
greenButton = new JButton("Green");
blueButton = new JButton("Blue");

redButton.setActionCommand("RED");
greenButton.setActionCommand("GREEN");
blueButton.setActionCommand("BLUE");

redButton.addActionListener(this);
greenButton.addActionListener(this);
blueButton.addActionListener(this);

JPanel buttonPanel = new JPanel();
buttonPanel.add(redButton);
buttonPanel.add(greenButton);
buttonPanel.add(blueButton);

setLayout(new BorderLayout());
add(buttonPanel, BorderLayout.NORTH);
add(mainPanel, BorderLayout.CENTER);
}

@Override
public void actionPerformed(ActionEvent e) {
switch (e.getActionCommand()) {
case "RED": mainPanel.setBackground(Color.RED); break;
case "GREEN": mainPanel.setBackground(Color.GREEN); break;
case "BLUE": mainPanel.setBackground(Color.BLUE); break;
}
}

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new ThemeColorSelectorApp().setVisible(true));
}
}
96 changes: 96 additions & 0 deletions part-4/E4.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class RegistrationFormApp extends JFrame implements ActionListener {
private JTextField txtName; // User name input
private JTextField txtEmail; // User email input
private JPasswordField txtPassword; // Password input
private JRadioButton rbMale, rbFemale; // Gender selection
private JCheckBox cbJava, cbPython, cbCpp; // Interests selection
private JButton btnSubmit; // Submit form button
private GridBagConstraints gbc; // Layout constraints

public RegistrationFormApp() {
setTitle("User Registration");
setSize(500, 350);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);

JPanel panel = new JPanel(new GridBagLayout());
gbc = new GridBagConstraints();
gbc.insets = new Insets(5, 5, 5, 5);
gbc.fill = GridBagConstraints.HORIZONTAL;

// Row 0: Name label & field
gbc.gridx = 0; gbc.gridy = 0;
panel.add(new JLabel("Name:"), gbc);
gbc.gridx = 1;
txtName = new JTextField(20);
panel.add(txtName, gbc);

// Row 1: Email label & field
gbc.gridx = 0; gbc.gridy = 1;
panel.add(new JLabel("Email:"), gbc);
gbc.gridx = 1;
txtEmail = new JTextField(20);
panel.add(txtEmail, gbc);

// Row 2: Password label & field
gbc.gridx = 0; gbc.gridy = 2;
panel.add(new JLabel("Password:"), gbc);
gbc.gridx = 1;
txtPassword = new JPasswordField(20);
panel.add(txtPassword, gbc);

// Row 3: Gender selection
gbc.gridx = 0; gbc.gridy = 3;
panel.add(new JLabel("Gender:"), gbc);
gbc.gridx = 1;
rbMale = new JRadioButton("Male"); rbFemale = new JRadioButton("Female");
ButtonGroup bg = new ButtonGroup(); bg.add(rbMale); bg.add(rbFemale);
JPanel genderPanel = new JPanel(); genderPanel.add(rbMale); genderPanel.add(rbFemale);
panel.add(genderPanel, gbc);

// Row 4: Interests selection
gbc.gridx = 0; gbc.gridy = 4;
panel.add(new JLabel("Interests:"), gbc);
gbc.gridx = 1;
cbJava = new JCheckBox("Java"); cbPython = new JCheckBox("Python"); cbCpp = new JCheckBox("C++");
JPanel interestPanel = new JPanel();
interestPanel.add(cbJava); interestPanel.add(cbPython); interestPanel.add(cbCpp);
panel.add(interestPanel, gbc);

// Row 5: Submit button
gbc.gridx = 1; gbc.gridy = 5;
gbc.anchor = GridBagConstraints.CENTER;
btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(this);
panel.add(btnSubmit, gbc);

add(panel);
}

@Override
public void actionPerformed(ActionEvent e) {
String name = txtName.getText();
String email = txtEmail.getText();
String gender = rbMale.isSelected() ? "Male" : rbFemale.isSelected() ? "Female" : "Unspecified";
String interests = "";
if (cbJava.isSelected()) interests += "Java ";
if (cbPython.isSelected()) interests += "Python ";
if (cbCpp.isSelected()) interests += "C++ ";

JOptionPane.showMessageDialog(this,
"Name: " + name + "\n" +
"Email: " + email + "\n" +
"Gender: " + gender + "\n" +
"Interests: " + interests,
"Registration Details", JOptionPane.INFORMATION_MESSAGE);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new RegistrationFormApp().setVisible(true));
}
}