Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Samson_MidtermExam;
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.time.LocalDate;
- import java.time.format.DateTimeFormatter;
- import java.time.temporal.ChronoField;
- public class Samson_MidtermExam extends JFrame {
- JTextField dateInput, resultField;
- public Samson_MidtermExam() {
- setTitle("Midterm Exam - Samson");
- setSize(400, 200);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- //panel
- JPanel panel = new JPanel();
- panel.setLayout(null);
- //bahala ka sa kung anong color gusto mo
- //and kung anong font style ng background and text, pati button
- JLabel dateLabel = new JLabel("Enter the date:");
- dateLabel.setBounds(30, 30, 100, 25);
- JLabel resultLabel = new JLabel("Day of the Week:");
- resultLabel.setBounds(30, 70, 130, 25);
- dateInput = new JTextField();
- dateInput.setBounds(150, 30, 180, 25);
- resultField = new JTextField();
- resultField.setBounds(150, 70, 180, 25);
- //buttons
- JButton computeButton = new JButton("compute");
- computeButton.setBounds(40, 120, 90, 30);
- JButton resetButton = new JButton("reset");
- resetButton.setBounds(150, 120, 90, 30);
- JButton exitButton = new JButton("exit");
- exitButton.setBounds(260, 120, 90, 30);
- panel.add(dateLabel);
- panel.add(dateInput);
- panel.add(resultLabel);
- panel.add(resultField);
- panel.add(computeButton);
- panel.add(resetButton);
- panel.add(exitButton);
- add(panel);
- //events
- computeButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- computeDateInfo();
- }
- });
- resetButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- dateInput.setText("");
- resultField.setText("");
- }
- });
- exitButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- });
- setVisible(true);
- }
- //computation
- public void computeDateInfo() {
- String input = dateInput.getText();
- int currentYear = LocalDate.now().getYear();
- String fullDate = currentYear + "-" + input;
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- LocalDate date = LocalDate.parse(fullDate, formatter);
- int dayOfYear = date.get(ChronoField.DAY_OF_YEAR);
- String dayOfWeek = date.getDayOfWeek().toString();
- resultField.setText(dayOfWeek + ", Day " + dayOfYear);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment