import javax.swing.
*;
import java.awt.*;
import java.awt.event.*;
public class QuizForm {
private JFrame frame;
private JPanel panel;
private JLabel question1Label;
private JRadioButton option1Radio;
private JRadioButton option2Radio;
private JRadioButton option3Radio;
private ButtonGroup optionGroup;
private JLabel correctAnswerLabel;
private JCheckBox checkBox1;
private JCheckBox checkBox2;
private JCheckBox checkBox3;
private JTextField textField;
private JTextArea textArea;
private JButton submitButton;
private int totalScore;
public QuizForm() {
frame = new JFrame("Quiz Form");
panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
// Question 1: Radio buttons
question1Label = new JLabel("What is the capital of France?");
panel.add(question1Label);
option1Radio = new JRadioButton("Paris");
option2Radio = new JRadioButton("London");
option3Radio = new JRadioButton("Berlin");
optionGroup = new ButtonGroup();
optionGroup.add(option1Radio);
optionGroup.add(option2Radio);
optionGroup.add(option3Radio);
panel.add(option1Radio);
panel.add(option2Radio);
panel.add(option3Radio);
// Question 2: Check boxes
JLabel question2Label = new JLabel("What are the colors of the French
flag?");
panel.add(question2Label);
checkBox1 = new JCheckBox("Blue");
checkBox2 = new JCheckBox("White");
checkBox3 = new JCheckBox("Red");
panel.add(checkBox1);
panel.add(checkBox2);
panel.add(checkBox3);
// Question 3: Text field
JLabel question3Label = new JLabel("What is the name of the famous
French painter?");
panel.add(question3Label);
textField = new JTextField(20);
panel.add(textField);
// Question 4: Text area
JLabel question4Label = new JLabel("Write a short essay about the
Eiffel Tower:");
panel.add(question4Label);
textArea = new JTextArea(5, 20);
panel.add(textArea);
// Submit button
submitButton = new JButton("Submit");
submitButton.addActionListener(new SubmitButtonListener());
panel.add(submitButton);
correctAnswerLabel = new JLabel("Correct answers will be displayed
here.");
panel.add(correctAnswerLabel);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
private class SubmitButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
findTotalScore();
}
}
public void findTotalScore() {
totalScore = 0;
// Question 1: Radio buttons
if (option1Radio.isSelected()) {
totalScore++;
}
// Question 2: Check boxes
if (checkBox1.isSelected() && checkBox2.isSelected() &&
checkBox3.isSelected()) {
totalScore++;
}
// Question 3: Text field
if (textField.getText().trim().equalsIgnoreCase("Claude Monet")) {
totalScore++;
}
// Question 4: Text area
if (textArea.getText().trim().contains("Eiffel Tower")) {
totalScore++;
}
correctAnswerLabel.setText("Your total score is " + totalScore + " out
of 4.");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new QuizForm();
}
});
}
}
output:
2.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
// Components of the calculator
private JTextField display;
private JButton[] numberButtons;
private JButton[] functionButtons;
private JButton addButton, subButton, mulButton, divButton;
private JButton equalButton, clearButton, dotButton;
// Variables for calculations
private double num1 = 0, num2 = 0, result = 0;
private char operator;
// Constructor for Calculator
public Calculator() {
// Set window title
setTitle("Calculator");
// Set default size of window
setSize(300, 400);
// Set default location of window
setLocationRelativeTo(null);
// Set window to be not resizable
setResizable(false);
// Set default close operation
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create display field
display = new JTextField();
// Set display field to be non-editable
display.setEditable(false);
// Set display field to be centered
display.setHorizontalAlignment(JTextField.RIGHT);
// Add display field to the calculator
add(display, BorderLayout.NORTH);
// Create number buttons
numberButtons = new JButton[10];
JPanel numberPanel = new JPanel(new GridLayout(4, 3, 5, 5));
for (int i = 0; i < 10; i++) {
numberButtons[i] = new JButton(String.valueOf(i));
numberButtons[i].addActionListener(this);
numberPanel.add(numberButtons[i]);
}
// Create dot button
dotButton = new JButton(".");
dotButton.addActionListener(this);
numberPanel.add(dotButton);
// Add number panel to the calculator
add(numberPanel, BorderLayout.CENTER);
// Create function buttons
functionButtons = new JButton[4];
JPanel functionPanel = new JPanel(new GridLayout(4, 1, 5, 5));
addButton = new JButton("+");
subButton = new JButton("-");
mulButton = new JButton("*");
divButton = new JButton("/");
functionButtons[0] = addButton;
functionButtons[1] = subButton;
functionButtons[2] = mulButton;
functionButtons[3] = divButton;
for (JButton button : functionButtons) {
button.addActionListener(this);
functionPanel.add(button);
}
// Add function panel to the calculator
add(functionPanel, BorderLayout.EAST);
// Create equal and clear buttons
equalButton = new JButton("=");
clearButton = new JButton("C");
equalButton.addActionListener(this);
clearButton.addActionListener(this);
JPanel equalClearPanel = new JPanel(new GridLayout(1, 2, 5, 5));
equalClearPanel.add(equalButton);
equalClearPanel.add(clearButton);
// Add equal and clear panel to the calculator
add(equalClearPanel, BorderLayout.SOUTH);
// Make the calculator visible
setVisible(true);
}
// Method to handle button clicks
public void actionPerformed(ActionEvent e) {
// Get the source of the event
JButton button = (JButton) e.getSource();
// Check if the button is a number button
for (int i = 0; i < 10; i++) {
if (button == numberButtons[i]) {
display.setText(display.getText() + i);
return;
}
}
// Check if the button is the dot button
if (button == dotButton) {
if (!display.getText().contains(".")) {
display.setText(display.getText() + ".");
}
return;
}
// Check if the button is an operator button
if (button == addButton) {
operator = '+';
} else if (button == subButton) {
operator = '-';
} else if (button == mulButton) {
operator = '*';
} else if (button == divButton) {
operator = '/';
}
// Check if the button is the equal button
if (button == equalButton) {
num2 = Double.parseDouble(display.getText());
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
result = num1 / num2;
break;
}
display.setText(String.valueOf(result));
num1 = 0;
num2 = 0;
return;
}
// Check if the button is the clear button
if (button == clearButton) {
display.setText("");
num1 = 0;
num2 = 0;
return;
}
// Set num1 to the current display value
num1 = Double.parseDouble(display.getText());
// Clear the display
display.setText("");
}
// Main method to start the calculator
public static void main(String[] args) {
new Calculator();
}
}
output:
3.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GoogleAccountRegistration extends JFrame implements
ActionListener {
private JTextField firstNameField, lastNameField, usernameField,
phoneField, recoveryEmailField, dayField, yearField, genderField;
private JPasswordField passwordField, confirmPasswordField;
private JComboBox monthBox;
private JButton createAccountButton, resetButton, cancelButton;
public GoogleAccountRegistration() {
super("Create Google Account");
setSize(400, 450);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(10, 2));
setLocationRelativeTo(null);
// Labels and Text Fields
JLabel firstNameLabel = new JLabel("First Name:");
firstNameField = new JTextField();
JLabel lastNameLabel = new JLabel("Last Name:");
lastNameField = new JTextField();
JLabel usernameLabel = new JLabel("Username:");
usernameField = new JTextField();
JLabel passwordLabel = new JLabel("Password:");
passwordField = new JPasswordField();
JLabel confirmPasswordLabel = new JLabel("Confirm Password:");
confirmPasswordField = new JPasswordField();
JLabel phoneLabel = new JLabel("Phone Number:");
phoneField = new JTextField();
JLabel recoveryEmailLabel = new JLabel("Recovery Email:");
recoveryEmailField = new JTextField();
JLabel monthLabel = new JLabel("Month:");
String[] months = {"January", "February", "March", "April", "May",
"June", "July", "August", "September", "October", "November", "December"};
monthBox = new JComboBox(months);
JLabel dayLabel = new JLabel("Day:");
dayField = new JTextField();
JLabel yearLabel = new JLabel("Year:");
yearField = new JTextField();
JLabel genderLabel = new JLabel("Gender:");
genderField = new JTextField();
// Buttons
createAccountButton = new JButton("Create Account");
createAccountButton.addActionListener(this);
resetButton = new JButton("Reset");
resetButton.addActionListener(this);
cancelButton = new JButton(" Cancel");
cancelButton.addActionListener(this);
// Add components to the frame
add(firstNameLabel);
add(firstNameField);
add(lastNameLabel);
add(lastNameField);
add(usernameLabel);
add(usernameField);
add(passwordLabel);
add(passwordField);
add(confirmPasswordLabel);
add(confirmPasswordField);
add(phoneLabel);
add(phoneField);
add(recoveryEmailLabel);
add(recoveryEmailField);
add(monthLabel);
add(monthBox);
add(dayLabel);
add(dayField);
add(yearLabel);
add(yearField);
add(genderLabel);
add(genderField);
add(createAccountButton);
add(resetButton);
add(cancelButton);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == createAccountButton) {
// Validate input fields
if (validateFields()) {
// Create account logic here
JOptionPane.showMessageDialog(this, "Account created
successfully!");
}
} else if (e.getSource() == resetButton) {
// Reset fields
resetFields();
} else if (e.getSource() == cancelButton) {
// Close the window
dispose();
}
}
private boolean validateFields() {
// Validate first name
if (firstNameField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "First name is required!");
return false;
}
// Validate last name
if (lastNameField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "Last name is required!");
return false;
}
// Validate username
if (usernameField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "Username is required!");
return false;
}
// Validate password
if (passwordField.getPassword().length == 0) {
JOptionPane.showMessageDialog(this, "Password is required!");
return false;
}
// Validate confirm password
if (!
String.valueOf(passwordField.getPassword()).equals(String.valueOf(confirmPassw
ordField.getPassword()))) {
JOptionPane.showMessageDialog(this, "Passwords do not match!");
return false;
}
// Validate phone number
if (phoneField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "Phone number is required!");
return false;
}
// Validate recovery email
if (recoveryEmailField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "Recovery email is
required!");
return false;
}
// Validate birthdate
if (dayField.getText().trim().isEmpty() ||
yearField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "Birthdate is required!");
return false;
}
// Validate gender
if (genderField.getText().trim().isEmpty()) {
JOptionPane.showMessageDialog(this, "Gender is required!");
return false;
}
// Validate phone number format
String phoneRegex = "^\\d{10}$";
Pattern phonePattern = Pattern.compile(phoneRegex);
Matcher phoneMatcher = phonePattern.matcher(phoneField.getText());
if (!phoneMatcher.matches()) {
JOptionPane.showMessageDialog(this, "Invalid phone number
format!");
return false;
}
return true;
}
private void resetFields() {
firstNameField.setText("");
lastNameField.setText("");
usernameField.setText("");
passwordField.setText("");
confirmPasswordField.setText("");
phoneField.setText("");
recoveryEmailField.setText("");
dayField.setText("");
yearField.setText("");
genderField.setText("");
}
public static void main(String[] args) {
new GoogleAccountRegistration();
}
}
output:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class QuizForm {
private JFrame frame;
private JPanel panel;
private JLabel question1Label;
private JRadioButton option1Radio;
private JRadioButton option2Radio;
private JRadioButton option3Radio;
private JRadioButton option4Radio;
private ButtonGroup optionGroup;
private JLabel correctAnswerLabel;
private JCheckBox checkBox1;
private JCheckBox checkBox2;
private JCheckBox checkBox3;
private JCheckBox checkBox4;
private JCheckBox checkBox5;
private JTextField textField;
private JTextArea textArea;
private JButton submitButton;
private int totalScore;
public QuizForm() {
frame = new JFrame("Quiz Form");
panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
// Question 1: Radio buttons
question1Label = new JLabel("Which pacakge is used for swing
components?");
panel.add(question1Label);
option1Radio = new JRadioButton("java.awt");
option2Radio = new JRadioButton("javax.swing");
option3Radio = new JRadioButton("javafx");
option4Radio = new JRadioButton("java.util");
optionGroup = new ButtonGroup();
optionGroup.add(option1Radio);
optionGroup.add(option2Radio);
optionGroup.add(option3Radio);
optionGroup.add(option4Radio);
panel.add(option1Radio);
panel.add(option2Radio);
panel.add(option3Radio);
panel.add(option4Radio);
// Question 2: Check boxes
JLabel question2Label = new JLabel("Which of the following are layout
manners?");
panel.add(question2Label);
checkBox1 = new JCheckBox("border layout");
checkBox2 = new JCheckBox("flow layout");
checkBox3 = new JCheckBox("grid layout");
checkBox4 = new JCheckBox("flow layout");
checkBox5 = new JCheckBox("grid layout");
panel.add(checkBox1);
panel.add(checkBox2);
panel.add(checkBox3);
panel.add(checkBox4);
panel.add(checkBox5);
// Question 3: Text field
JLabel question3Label = new JLabel("What is the name of the famous
French painter?");
panel.add(question3Label);
textField = new JTextField(20);
panel.add(textField);
// Question 4: Text area
JLabel question4Label = new JLabel("Write a short essay about the
Eiffel Tower:");
panel.add(question4Label);
textArea = new JTextArea(5, 20);
panel.add(textArea);
// Submit button
submitButton = new JButton("Submit");
submitButton.addActionListener(new SubmitButtonListener());
panel.add(submitButton);
correctAnswerLabel = new JLabel("Correct answers will be displayed
here.");
panel.add(correctAnswerLabel);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
private class SubmitButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
findTotalScore();
}
}
public void findTotalScore() {
totalScore = 0;
// Question 1: Radio buttons
if (option1Radio.isSelected()) {
totalScore++;
}
// Question 2: Check boxes
if (checkBox1.isSelected() && checkBox2.isSelected() &&
checkBox3.isSelected()) {
totalScore++;
}
// Question 3: Text field
if (textField.getText().trim().equalsIgnoreCase("Claude Monet")) {
totalScore++;
}
// Question 4: Text area
if (textArea.getText().trim().contains("Eiffel Tower")) {
totalScore++;
}
correctAnswerLabel.setText("Your total score is " + totalScore + " out
of 4.");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new QuizForm();
}
});
}
}