diff --git a/part-1/Click.java b/part-1/Click.java new file mode 100644 index 0000000..788f2fa --- /dev/null +++ b/part-1/Click.java @@ -0,0 +1,30 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class Click extends JFrame implements ActionListener { + private JLabel label; + private JButton button; + private int count =0; + public Click() { + setTitle("Click Counter"); + label = new JLabel("Clicks : 0" , SwingConstants.CENTER); + button = new JButton("Click Me"); + button.addActionListener(this); + setLayout(new BorderLayout()); + add(label, BorderLayout.CENTER); + add(button, BorderLayout.SOUTH); + + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> new Click().setVisible(true)); + } + + @Override + public void actionPerformed(ActionEvent e) { + count++; + label.setText("Clicks : " + count); + } +} diff --git a/part-2/GreetingFromApp.java b/part-2/GreetingFromApp.java new file mode 100644 index 0000000..7516e10 --- /dev/null +++ b/part-2/GreetingFromApp.java @@ -0,0 +1,40 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class GreetingFromApp extends JFrame implements ActionListener { + private JTextField nameFeild; + private JButton greetButton; + private JLabel messageLabel; + public GreetingFromApp() { + setTitle("Greeting From "); + nameFeild = new JTextField(15); + greetButton = new JButton("Greet"); + messageLabel= new JLabel("Enter your name and press Greet", SwingConstants.CENTER); + greetButton.addActionListener(this); + JPanel panel = new JPanel(); + panel.add(new JLabel("Name:")); + panel.add(nameFeild); + panel.add(greetButton); + setLayout(new BorderLayout()); + add(panel, BorderLayout.NORTH); + add(messageLabel, BorderLayout.CENTER); + } + + + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> new GreetingFromApp().setVisible(true)); + } + + @Override + public void actionPerformed(ActionEvent e) { + String name = nameFeild.getText().trim(); + if (name.isEmpty()) { + messageLabel.setText("Please enter your name"); + }else { + messageLabel.setText("Hello"+name + "!"); + } + + } +} diff --git a/part-3/ColorSelector.java b/part-3/ColorSelector.java new file mode 100644 index 0000000..28e5550 --- /dev/null +++ b/part-3/ColorSelector.java @@ -0,0 +1,66 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class ColorSelector extends JFrame implements ActionListener { + public JPanel main; + public JButton red; + public JButton green; + public JButton blue; + public JButton yellow; + public JButton orange; + public JButton cyan; + public ColorSelector() { + setTitle("Theme Color Selector"); + + main = new JPanel(); + + red = new JButton("Red"); + green = new JButton("Green"); + blue = new JButton("Blue"); + yellow = new JButton("Yellow"); + orange = new JButton("Orange"); + cyan = new JButton("Cyan"); + + red.setActionCommand("RED"); + green.setActionCommand("GREEN"); + blue.setActionCommand("BLUE"); + yellow.setActionCommand("YELLOW"); + orange.setActionCommand("ORANGE"); + cyan.setActionCommand("CYAN"); + + red.addActionListener(this); + green.addActionListener(this); + blue.addActionListener(this); + yellow.addActionListener(this); + orange.addActionListener(this); + cyan.addActionListener(this); + + JPanel buttonPanel = new JPanel(); + buttonPanel.add(red); + buttonPanel.add(green); + buttonPanel.add(blue); + buttonPanel.add(yellow); + buttonPanel.add(orange); + buttonPanel.add(cyan); + + setLayout(new BorderLayout()); + add(buttonPanel, BorderLayout.NORTH); + add(main, BorderLayout.CENTER); + } + @Override + public void actionPerformed(ActionEvent e) { + switch (e.getActionCommand()) { + case "RED": main.setBackground(Color.red); break; + case "GREEN": main.setBackground(Color.green); break; + case "BLUE": main.setBackground(Color.blue); break; + case "YELLOW": main.setBackground(Color.yellow); break; + case "ORANGE": main.setBackground(Color.orange); break; + case "CYAN": main.setBackground(Color.cyan); break; + } + } + public static void main(String[] args) { + SwingUtilities.invokeLater(() -> new ColorSelector().setVisible(true)); + } +} diff --git a/part-4/RegistrationFormApp.java b/part-4/RegistrationFormApp.java new file mode 100644 index 0000000..a769b3a --- /dev/null +++ b/part-4/RegistrationFormApp.java @@ -0,0 +1,93 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class RegistrationFormApp extends JFrame implements ActionListener { + private JTextField txtName; + private JTextField txtEmail; + private JPasswordField txtPassword; + private JRadioButton rbMale, rbFemale; + private JCheckBox cbJava, cbPython, cbCpp; + private JButton btnSubmit; + private GridBagConstraints gbc; + 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; + + + 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 bg = new ButtonGroup(); bg.add(rbMale); bg.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; + 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)); + } +} \ No newline at end of file