Advertisement
deww1

Gripps' Challenge V.1

Nov 6th, 2011
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.29 KB | None | 0 0
  1.  
  2. import java.io.*;
  3.  
  4. import java.util.Scanner;
  5. import javax.swing.*;
  6.  
  7. /**
  8.  *
  9.  * @author Dayghost
  10.  * @version 1.0
  11.  * @since November 6, 2011
  12.  * Created in part by <u>Gripps' Challenge</u>
  13.  * <br /> Please not that this saves a file called saved.dat, inthe same directory as the program itself.<br />
  14.  * To-Be-Added IF NECESSARY Save File Name change(ect.)
  15.  */
  16. public class NotepadEditor extends javax.swing.JFrame {
  17.  
  18.     private static final String LOC = "C:/data/saved.dat";
  19.  
  20.     private Scanner sc;
  21.     private BufferedWriter writer;
  22.     private File saveFile;
  23.  
  24.     /** Creates new form NotepadEditor */
  25.     public NotepadEditor() {
  26.         initComponents();
  27.         bold.setState(false);
  28.         italic.setState(false);
  29.         wrap.setState(false);
  30.         aot.setState(false);
  31.         pad.setFont(new java.awt.Font("Monospaced", 0, 13));
  32.     }
  33.  
  34.     private static boolean makeFile(String name, boolean isFile) {
  35.         try {
  36.             File file = new File(name);
  37.             if (isFile) {
  38.                 if (file.exists()) {
  39.                     return true;
  40.                 } else {
  41.                     return file.createNewFile();
  42.                 }
  43.             } else {
  44.                 if (file.exists()) {
  45.                     return true;
  46.                 } else {
  47.                     return file.mkdir();
  48.                 }
  49.             }
  50.         } catch (Exception e) {
  51.             System.out.println(e);
  52.             return false;
  53.         }
  54.     }
  55.  
  56.     private int saveNote() {
  57.         try {
  58.             saveFile = new File(LOC);
  59.             if (saveFile.exists()) {
  60.                 writer = new BufferedWriter(new FileWriter(saveFile));
  61.                 sc = new Scanner(pad.getText());
  62.                 if (sc == null)
  63.                     return 0;
  64.                 while (sc.hasNextLine()) {
  65.                     writer.append(sc.nextLine() + "\n");
  66.                 }
  67.                 writer.flush();
  68.                 writer.close();
  69.                 JOptionPane.showMessageDialog(pad, "Information was successfully saved!");
  70.                 return 1;
  71.             } else {
  72.                 JOptionPane.showMessageDialog(pad, "File non existant, we will make one!");
  73.                 return 2;
  74.             }
  75.         } catch (IOException e) {
  76.             System.out.println(e);
  77.             JOptionPane.showMessageDialog(pad, "There seems to have been an error!");
  78.             return -1;
  79.         }
  80.     }
  81.     private int loadNote() {
  82.         try {
  83.             saveFile = new File(LOC);
  84.             if (saveFile.exists()) {
  85.                 sc = new Scanner(saveFile);
  86.                 if (sc == null)
  87.                     return 0;
  88.                 pad.setText("");
  89.                 while (sc.hasNextLine()) {
  90.                     pad.setText(pad.getText() + sc.nextLine() + "\n");
  91.                 }
  92.                 JOptionPane.showMessageDialog(pad, "Notes successfully loaded!");
  93.                 return 1;
  94.             } else {
  95.                 JOptionPane.showMessageDialog(pad, "The file seems to not exist!");
  96.                 return 2;
  97.             }
  98.         } catch (IOException e) {
  99.             System.out.println(e);
  100.             JOptionPane.showMessageDialog(pad, "There seems to have been an error!");
  101.             return -1;
  102.         }
  103.     }
  104.     /** This method is called from within the constructor to
  105.      * initialize the form.
  106.      * WARNING: Do NOT modify this code. The content of this method is
  107.      * always regenerated by the Form Editor.
  108.      */
  109.     @SuppressWarnings("unchecked")
  110.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  111.     private void initComponents() {
  112.  
  113.         jLabel1 = new javax.swing.JLabel();
  114.         jScrollPane1 = new javax.swing.JScrollPane();
  115.         pad = new javax.swing.JTextArea();
  116.         jMenuBar1 = new javax.swing.JMenuBar();
  117.         jMenu1 = new javax.swing.JMenu();
  118.         open = new javax.swing.JMenuItem();
  119.         save = new javax.swing.JMenuItem();
  120.         jMenu2 = new javax.swing.JMenu();
  121.         bold = new javax.swing.JCheckBoxMenuItem();
  122.         italic = new javax.swing.JCheckBoxMenuItem();
  123.         wrap = new javax.swing.JCheckBoxMenuItem();
  124.         jMenu3 = new javax.swing.JMenu();
  125.         aot = new javax.swing.JCheckBoxMenuItem();
  126.  
  127.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  128.         setTitle("GTScripts Notepad");
  129.  
  130.         jLabel1.setFont(new java.awt.Font("Calibri", 0, 18)); // NOI18N
  131.         jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  132.         jLabel1.setText("Gripps' Challenge - Dayghost -> Submission #1");
  133.         jLabel1.setName("jLabel1"); // NOI18N
  134.  
  135.         jScrollPane1.setName("jScrollPane1"); // NOI18N
  136.  
  137.         pad.setColumns(20);
  138.         pad.setRows(5);
  139.         pad.setWrapStyleWord(true);
  140.         pad.setName("pad"); // NOI18N
  141.         jScrollPane1.setViewportView(pad);
  142.  
  143.         jMenuBar1.setName("jMenuBar1"); // NOI18N
  144.  
  145.         jMenu1.setText("File");
  146.         jMenu1.setName("jMenu1"); // NOI18N
  147.  
  148.         open.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
  149.         open.setText("Open Note");
  150.         open.setName("open"); // NOI18N
  151.         open.addActionListener(new java.awt.event.ActionListener() {
  152.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  153.                 openActionPerformed(evt);
  154.             }
  155.         });
  156.         jMenu1.add(open);
  157.  
  158.         save.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
  159.         save.setText("Save Note");
  160.         save.setToolTipText("Save Notes");
  161.         save.setName("save"); // NOI18N
  162.         save.addActionListener(new java.awt.event.ActionListener() {
  163.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  164.                 saveActionPerformed(evt);
  165.             }
  166.         });
  167.         jMenu1.add(save);
  168.  
  169.         jMenuBar1.add(jMenu1);
  170.  
  171.         jMenu2.setText("Edit");
  172.         jMenu2.setName("jMenu2"); // NOI18N
  173.  
  174.         bold.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.CTRL_MASK));
  175.         bold.setSelected(true);
  176.         bold.setText("Bold Text");
  177.         bold.setName("bold"); // NOI18N
  178.         bold.addActionListener(new java.awt.event.ActionListener() {
  179.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  180.                 boldActionPerformed(evt);
  181.             }
  182.         });
  183.         jMenu2.add(bold);
  184.  
  185.         italic.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_I, java.awt.event.InputEvent.CTRL_MASK));
  186.         italic.setSelected(true);
  187.         italic.setText("Italic Text");
  188.         italic.setName("italic"); // NOI18N
  189.         italic.addActionListener(new java.awt.event.ActionListener() {
  190.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  191.                 italicActionPerformed(evt);
  192.             }
  193.         });
  194.         jMenu2.add(italic);
  195.  
  196.         wrap.setSelected(true);
  197.         wrap.setText("Word Wrap");
  198.         wrap.setName("wrap"); // NOI18N
  199.         wrap.addActionListener(new java.awt.event.ActionListener() {
  200.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  201.                 wrapActionPerformed(evt);
  202.             }
  203.         });
  204.         jMenu2.add(wrap);
  205.  
  206.         jMenuBar1.add(jMenu2);
  207.  
  208.         jMenu3.setText("Extras");
  209.         jMenu3.setName("jMenu3"); // NOI18N
  210.  
  211.         aot.setSelected(true);
  212.         aot.setText("Always on Top");
  213.         aot.setName("aot"); // NOI18N
  214.         aot.addActionListener(new java.awt.event.ActionListener() {
  215.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  216.                 aotActionPerformed(evt);
  217.             }
  218.         });
  219.         jMenu3.add(aot);
  220.  
  221.         jMenuBar1.add(jMenu3);
  222.  
  223.         setJMenuBar(jMenuBar1);
  224.  
  225.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  226.         getContentPane().setLayout(layout);
  227.         layout.setHorizontalGroup(
  228.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  229.             .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 599, Short.MAX_VALUE)
  230.             .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 599, Short.MAX_VALUE)
  231.         );
  232.         layout.setVerticalGroup(
  233.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  234.             .addGroup(layout.createSequentialGroup()
  235.                 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
  236.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  237.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 291, Short.MAX_VALUE))
  238.         );
  239.  
  240.         pack();
  241.     }// </editor-fold>                        
  242.  
  243.     private void saveActionPerformed(java.awt.event.ActionEvent evt) {                                    
  244.         if (saveNote() == 2) {
  245.             saveNote();
  246.         }
  247.     }                                    
  248.  
  249.     private void openActionPerformed(java.awt.event.ActionEvent evt) {                                    
  250.         if (loadNote() == 0) {
  251.             loadNote();
  252.         }
  253.     }                                    
  254.  
  255.     private void boldActionPerformed(java.awt.event.ActionEvent evt) {                                    
  256.         if (bold.getState() && !italic.getState()) { //bold and not italic
  257.             pad.setFont(new java.awt.Font("Monospaced", 1, 13));
  258.         } else if (bold.getState() && italic.getState()) { //bold and italic
  259.             pad.setFont(new java.awt.Font("Monospaced", 3, 13));
  260.         } else if (!bold.getState() && italic.getState()) {
  261.             pad.setFont(new java.awt.Font("Monospaced", 2, 13)); //not bold and italic
  262.         } else if (!bold.getState() && !italic.getState()) {
  263.             pad.setFont(new java.awt.Font("Monospaced", 0, 13)); //not bold and not italic
  264.         }
  265.     }                                    
  266.  
  267.     private void italicActionPerformed(java.awt.event.ActionEvent evt) {                                      
  268.         if (bold.getState() && !italic.getState()) { //bold and not italic
  269.             pad.setFont(new java.awt.Font("Monospaced", 1, 13));
  270.         } else if (bold.getState() && italic.getState()) { //bold and italic
  271.             pad.setFont(new java.awt.Font("Monospaced", 3, 13));
  272.         } else if (!bold.getState() && italic.getState()) {
  273.             pad.setFont(new java.awt.Font("Monospaced", 2, 13)); //not bold and italic
  274.         } else if (!bold.getState() && !italic.getState()) {
  275.             pad.setFont(new java.awt.Font("Monospaced", 0, 13)); //not bold and not italic
  276.         }
  277.     }                                      
  278.  
  279.     private void wrapActionPerformed(java.awt.event.ActionEvent evt) {                                    
  280.         wrap.setState(wrap.getState());
  281.         pad.setLineWrap(wrap.getState());
  282.     }                                    
  283.  
  284.     private void aotActionPerformed(java.awt.event.ActionEvent evt) {                                    
  285.         setAlwaysOnTop(aot.getState());
  286.     }                                  
  287.  
  288.     /**
  289.     * @param args the command line arguments
  290.     */
  291.     public static void main(String args[]) {
  292.         makeFile("C:/data/", false);
  293.         makeFile(LOC, true);
  294.         java.awt.EventQueue.invokeLater(new Runnable() {
  295.             public void run() {
  296.                 new NotepadEditor().setVisible(true);
  297.             }
  298.         });
  299.     }
  300.  
  301.     // Variables declaration - do not modify                    
  302.     protected javax.swing.JCheckBoxMenuItem aot;
  303.     protected javax.swing.JCheckBoxMenuItem bold;
  304.     protected javax.swing.JCheckBoxMenuItem italic;
  305.     protected javax.swing.JLabel jLabel1;
  306.     protected javax.swing.JMenu jMenu1;
  307.     protected javax.swing.JMenu jMenu2;
  308.     protected javax.swing.JMenu jMenu3;
  309.     protected javax.swing.JMenuBar jMenuBar1;
  310.     protected javax.swing.JScrollPane jScrollPane1;
  311.     protected javax.swing.JMenuItem open;
  312.     protected javax.swing.JTextArea pad;
  313.     protected javax.swing.JMenuItem save;
  314.     protected javax.swing.JCheckBoxMenuItem wrap;
  315.     // End of variables declaration                  
  316.  
  317. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement