Answer:
Java program is given below
Explanation:
JavaPadGUI.java
package javapad.gui;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class JavaPadGUI extends JFrame implements ActionListener{
   //constants
   private static final String TITLE = "Macrosoft JavaPad XP";
   private static final String SLOGAN = "Macrosoft: Resistance is futile";
  
   //button names
   private static final String NEW = "New";
   private static final String LOAD = "Load";
   private static final String SAVE = "Save";
   private static final String QUIT = "Quit";
  
   private static final String FILENAME = "hardcode.txt";
   //messages
  
   private static final String QUIT_MSG = "Quitting, Save?";
   private static final String LOAD_ERR = "Could not access file " + FILENAME;
  
  
   //fields
   private JTextArea txtContent;
   private JButton butNew, butLoad, butSave, butQuit;
  
   public JavaPadGUI()
   {
       super(TITLE);
       createUI();
       setSize(new Dimension(400, 300));
       setDefaultCloseOperation(EXIT_ON_CLOSE);
          
   }
  
   private void createUI()
   {
       Container c = getContentPane();
       c.setLayout(new BorderLayout(30,30));
      
       //create the buttons panel
       JPanel butPanel = new JPanel();
       butPanel.add(butNew = new JButton(NEW));
       butPanel.add(butLoad = new JButton(LOAD));
       butPanel.add(butSave = new JButton(SAVE));
       butPanel.add(butQuit = new JButton(QUIT));
      
       //set command names for the buttons, these will be when button is clicked
       butNew.setActionCommand(NEW);
       butLoad.setActionCommand(LOAD);
       butSave.setActionCommand(SAVE);
       butQuit.setActionCommand(QUIT);
      
       JPanel sloganPanel = new JPanel();
       sloganPanel.add(new JLabel(SLOGAN));
      
       //create textarea with scrollbar
       txtContent = new JTextArea(15, 25);
       txtContent.setLineWrap(true);
          
       JScrollPane scroll = new JScrollPane(txtContent);
      
       //now add all components
       c.add(butPanel, BorderLayout.NORTH);
       c.add(scroll, BorderLayout.CENTER);
       c.add(sloganPanel, BorderLayout.SOUTH);
      
      
       //set the actionlistner to buttons to handle button click event
       butNew.addActionListener(this);
       butLoad.addActionListener(this);
       butSave.addActionListener(this);
       butQuit.addActionListener(this);
      
   }
   public void actionPerformed(ActionEvent e)
   {
       String cmd = e.getActionCommand();
       if(cmd.equals(NEW))
           txtContent.setText("");
       else if (cmd.equals(LOAD))
           load();
       else if(cmd.equals(SAVE))
           save();
       else if (cmd.equals(QUIT))
           quit();
   }
   private void quit()
   {
       int option = JOptionPane.showConfirmDialog(this, QUIT_MSG);
       if(option == JOptionPane.YES_OPTION)
       {
           save();
       }
      
       System.exit(0);
   }
  
   private void save()
   {
       try {
           PrintWriter w = new PrintWriter(new File(FILENAME));
           w.write(txtContent.getText());
           w.close();
       } catch (FileNotFoundException e) {
           JOptionPane.showMessageDialog(this,"I/O Error", LOAD_ERR, JOptionPane.ERROR_MESSAGE);
       }
              
   }
   private void load()
   {
       try {
           Scanner s = new Scanner(new File(FILENAME));
           String str = "";
           while(s.hasNextLine())
               str += s.nextLine();
           txtContent.setText(str);
           s.close();
       } catch (FileNotFoundException e) {
           JOptionPane.showMessageDialog(this, LOAD_ERR, "I/O Error",JOptionPane.ERROR_MESSAGE);
       }
      
   }
}
RunJavaPad.java
package javapad;
import javapad.gui.JavaPadGUI;
public class RunJavaPad {
   public static void main(String[] args) {
       JavaPadGUI gui = new JavaPadGUI();
       gui.setVisible(true);
   }
}