From a8b5c36927db3fa35172bf6aa20f3dfdd063259c Mon Sep 17 00:00:00 2001 From: ITech Date: Sun, 11 May 2025 14:14:38 +0330 Subject: [PATCH 1/4] DoneE1 --- part-1/E1.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/part-1/E1.java b/part-1/E1.java index e69de29..664290e 100644 --- a/part-1/E1.java +++ b/part-1/E1.java @@ -0,0 +1,39 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; + +public class E1 extends JFrame implements ActionListener { + + private JLabel counterLabel; + private JButton clickButton; + private int count = 0; + + public E1() { + setTitle("Click Counter"); + counterLabel = new JLabel("Clicks: 0", SwingConstants.CENTER); + clickButton = new JButton("Click Me"); + clickButton.addActionListener(this); + + setLayout(new BorderLayout()); + add(counterLabel, BorderLayout.CENTER); + add(clickButton, BorderLayout.SOUTH); + + setSize(400, 200); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setLocationRelativeTo(null); + } + + @Override + public void actionPerformed(ActionEvent e) { + count++; + counterLabel.setText("Clicks: " + count); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> { + E1 app = new E1(); + app.setVisible(true); + }); + } +} + From a31c3bf76ed35bd2c9b5fd13d33229652db8e479 Mon Sep 17 00:00:00 2001 From: ITech Date: Sun, 11 May 2025 14:24:37 +0330 Subject: [PATCH 2/4] doneE2 --- part-2/E2.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/part-2/E2.java b/part-2/E2.java index e69de29..80413e5 100644 --- a/part-2/E2.java +++ b/part-2/E2.java @@ -0,0 +1,54 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class E2 extends JFrame implements ActionListener { + + + private JTextField nameField; + private JButton greetButton; + private JLabel messageLabel; + + + public E2() { + setTitle("Greeting Form"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + 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); + + setSize(350, 150); + setLocationRelativeTo(null); + } + + + @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 E2().setVisible(true)); + } +} From f1f59cb48aee9ad2a0243c96e32e8536b5fdd193 Mon Sep 17 00:00:00 2001 From: ITech Date: Sun, 11 May 2025 14:55:13 +0330 Subject: [PATCH 3/4] DoneE3 --- part-3/E3.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/part-3/E3.java b/part-3/E3.java index e69de29..7bb2a1a 100644 --- a/part-3/E3.java +++ b/part-3/E3.java @@ -0,0 +1,60 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class E3 extends JFrame implements ActionListener { + private JPanel panel; + private JButton redButton; + private JButton greenButton; + private JButton blueButton; + + public E3() { + setTitle("Theme Color Selector"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + panel = 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(panel, BorderLayout.CENTER); + + setSize(500, 400); + setLocationRelativeTo(null); + } + + @Override + public void actionPerformed(ActionEvent e) { + switch (e.getActionCommand()) { + case "red": + panel.setBackground(Color.RED); + break; + case "green": + panel.setBackground(Color.GREEN); + break; + case "blue": + panel.setBackground(Color.BLUE); + break; + } + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> new E3().setVisible(true)); + } +} From aa05f2d2fc8fcfc99cde3a1abd4742e395005ccb Mon Sep 17 00:00:00 2001 From: ITech Date: Sun, 11 May 2025 15:14:03 +0330 Subject: [PATCH 4/4] DoneE4 --- part-4/E4.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/part-4/E4.java b/part-4/E4.java index e69de29..0f012e2 100644 --- a/part-4/E4.java +++ b/part-4/E4.java @@ -0,0 +1,107 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class E4 extends JFrame implements ActionListener { + private final JTextField txtName; + private final JTextField txtEmail; + private final JPasswordField txtPassword; + private final JRadioButton rbMale; + private final JRadioButton rbFemale; + private final JCheckBox cbJava; + private final JCheckBox cbPython; + private final JCheckBox cbCpp; + + public E4() { + setTitle("User Registration"); + setSize(400, 350); + setDefaultCloseOperation(EXIT_ON_CLOSE); + setLocationRelativeTo(null); + + JPanel panel = new JPanel(new GridBagLayout()); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.insets = new Insets(10, 10, 10, 10); + gbc.fill = GridBagConstraints.HORIZONTAL; + + + gbc.gridx = 0; gbc.gridy = 0; + panel.add(new JLabel("Name:"), gbc); + gbc.gridx = 1; + txtName = new JTextField(20); + panel.add(txtName, gbc); + + + gbc.gridx = 0; gbc.gridy = 1; + panel.add(new JLabel("Email:"), gbc); + gbc.gridx = 1; + txtEmail = new JTextField(20); + panel.add(txtEmail, gbc); + + + gbc.gridx = 0; gbc.gridy = 2; + panel.add(new JLabel("Password:"), gbc); + gbc.gridx = 1; + txtPassword = new JPasswordField(20); + panel.add(txtPassword, gbc); + + + gbc.gridx = 0; gbc.gridy = 3; + panel.add(new JLabel("Gender:"), gbc); + gbc.gridx = 1; + rbMale = new JRadioButton("Male"); + rbFemale = new JRadioButton("Female"); + ButtonGroup genderGroup = new ButtonGroup(); + genderGroup.add(rbMale); + genderGroup.add(rbFemale); + JPanel genderPanel = new JPanel(); + genderPanel.add(rbMale); + genderPanel.add(rbFemale); + panel.add(genderPanel, gbc); + + + 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); + + + gbc.gridx = 1; gbc.gridy = 5; + gbc.anchor = GridBagConstraints.CENTER; + JButton btnSubmit = new JButton("Submit"); + btnSubmit.addActionListener(this); + panel.add(btnSubmit, gbc); + + add(panel); + } + + @Override + public void actionPerformed(ActionEvent e) { + String name = txtName.getText().trim(); + String email = txtEmail.getText().trim(); + String password = new String(txtPassword.getPassword()); + 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 E4().setVisible(true)); + } +}