document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.File;
  5. import java.io.FileFilter;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileReader;
  8. import java.io.FileWriter;
  9. import java.io.IOException;
  10. import java.io.StringReader;
  11. import java.util.logging.Level;
  12. import java.util.logging.Logger;
  13. import javax.swing.JFileChooser;
  14. import javax.swing.JOptionPane;
  15. import javax.swing.filechooser.FileNameExtensionFilter;
  16.  
  17. /**
  18.  *
  19.  * @author izzur
  20.  */
  21.  
  22. public class nrp5213100087 extends javax.swing.JFrame {
  23.  
  24.     final JFileChooser fc = new JFileChooser();
  25.     BufferedReader br;
  26.     FileWriter fw;
  27.     BufferedWriter bw;
  28.     StringReader sr;
  29.     File file;
  30.     FileFilter ff;
  31.     FileNameExtensionFilter textFilter;
  32.     int returnVal;
  33.     Object[] option = {"Yes, please","No, thanks"};
  34.     public nrp5213100087() {
  35.         initComponents();
  36.         cekWrap.setSelected(false);
  37.        
  38.         textFilter = new FileNameExtensionFilter("Text Files","txt","text");
  39.         fc.addChoosableFileFilter(textFilter);
  40.         fc.setFileFilter(textFilter);
  41.        
  42.     }
  43.     void parseContent() throws IOException {
  44.         String temp;
  45.         area51.setText("");
  46.         try {
  47.             br  = new BufferedReader(new FileReader(fc.getSelectedFile()));
  48.             do {
  49.                 temp = br.readLine();
  50.                 if(temp!=null) area51.append(temp+"\\n");
  51.             } while (temp!=null);
  52.         }
  53.         catch (FileNotFoundException e){
  54.             e.printStackTrace();
  55.         }
  56.         catch (NullPointerException e) {
  57.            
  58.         }
  59.         br.close();
  60.     }
  61.     void storeContent() throws IOException {
  62.         try {
  63.             file = new File(fc.getSelectedFile().getAbsolutePath());
  64.                
  65.             if(!file.exists()) file.createNewFile();
  66.        
  67.             fw = new FileWriter(file.getAbsoluteFile());
  68.             bw = new BufferedWriter(fw);
  69.             sr = new StringReader(area51.getText());
  70.             br = new BufferedReader(sr);
  71.             for (String line = br.readLine(); line!=null ; line=br.readLine()) {
  72.                 bw.write(line);
  73.                 bw.newLine();
  74.             }
  75.             bw.close();
  76.             fw.close();
  77.             sr.close();
  78.             br.close();
  79.         }
  80.         catch (IOException e) {
  81.             e.printStackTrace();
  82.         }
  83.         catch (NullPointerException e) {
  84.            
  85.         }
  86.     }
  87.            
  88.    @SuppressWarnings("unchecked")
  89.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  90.     private void initComponents() {
  91.  
  92.         jScrollPane1 = new javax.swing.JScrollPane();
  93.         area51 = new javax.swing.JTextArea();
  94.         jMenuBar1 = new javax.swing.JMenuBar();
  95.         jMenu1 = new javax.swing.JMenu();
  96.         newMenu = new javax.swing.JMenuItem();
  97.         openMenu = new javax.swing.JMenuItem();
  98.         saveMenu = new javax.swing.JMenuItem();
  99.         jSeparator2 = new javax.swing.JPopupMenu.Separator();
  100.         exitMenu = new javax.swing.JMenuItem();
  101.         jMenu2 = new javax.swing.JMenu();
  102.         jMenuItem3 = new javax.swing.JMenuItem();
  103.         jMenuItem4 = new javax.swing.JMenuItem();
  104.         jMenuItem5 = new javax.swing.JMenuItem();
  105.         jMenu4 = new javax.swing.JMenu();
  106.         cekWrap = new javax.swing.JCheckBoxMenuItem();
  107.         jMenu3 = new javax.swing.JMenu();
  108.         lalala = new javax.swing.JMenuItem();
  109.  
  110.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  111.  
  112.         area51.setColumns(20);
  113.         area51.setRows(5);
  114.         area51.setAutoscrolls(false);
  115.         jScrollPane1.setViewportView(area51);
  116.  
  117.         jMenu1.setText("File");
  118.         jMenu1.addActionListener(new java.awt.event.ActionListener() {
  119.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  120.                 jMenu1ActionPerformed(evt);
  121.             }
  122.         });
  123.  
  124.         newMenu.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
  125.         newMenu.setText("New");
  126.         newMenu.addActionListener(new java.awt.event.ActionListener() {
  127.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  128.                 newMenuActionPerformed(evt);
  129.             }
  130.         });
  131.         jMenu1.add(newMenu);
  132.  
  133.         openMenu.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK));
  134.         openMenu.setText("Open...");
  135.         openMenu.addActionListener(new java.awt.event.ActionListener() {
  136.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  137.                 openMenuActionPerformed(evt);
  138.             }
  139.         });
  140.         jMenu1.add(openMenu);
  141.  
  142.         saveMenu.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
  143.         saveMenu.setText("Save...");
  144.         saveMenu.addActionListener(new java.awt.event.ActionListener() {
  145.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  146.                 saveMenuActionPerformed(evt);
  147.             }
  148.         });
  149.         jMenu1.add(saveMenu);
  150.         jMenu1.add(jSeparator2);
  151.  
  152.         exitMenu.setText("Exit");
  153.         exitMenu.addActionListener(new java.awt.event.ActionListener() {
  154.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  155.                 exitMenuActionPerformed(evt);
  156.             }
  157.         });
  158.         jMenu1.add(exitMenu);
  159.  
  160.         jMenuBar1.add(jMenu1);
  161.  
  162.         jMenu2.setText("Edit");
  163.  
  164.         jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK));
  165.         jMenuItem3.setText("Cut");
  166.         jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
  167.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  168.                 jMenuItem3ActionPerformed(evt);
  169.             }
  170.         });
  171.         jMenu2.add(jMenuItem3);
  172.  
  173.         jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK));
  174.         jMenuItem4.setText("Copy");
  175.         jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
  176.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  177.                 jMenuItem4ActionPerformed(evt);
  178.             }
  179.         });
  180.         jMenu2.add(jMenuItem4);
  181.  
  182.         jMenuItem5.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK));
  183.         jMenuItem5.setText("Paste");
  184.         jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
  185.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  186.                 jMenuItem5ActionPerformed(evt);
  187.             }
  188.         });
  189.         jMenu2.add(jMenuItem5);
  190.  
  191.         jMenuBar1.add(jMenu2);
  192.  
  193.         jMenu4.setText("Format");
  194.  
  195.         cekWrap.setSelected(true);
  196.         cekWrap.setText("Word Wrap");
  197.         cekWrap.addActionListener(new java.awt.event.ActionListener() {
  198.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  199.                 cekWrapActionPerformed(evt);
  200.             }
  201.         });
  202.         jMenu4.add(cekWrap);
  203.  
  204.         jMenuBar1.add(jMenu4);
  205.  
  206.         jMenu3.setText("Help");
  207.  
  208.         lalala.setText(" About");
  209.         lalala.addActionListener(new java.awt.event.ActionListener() {
  210.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  211.                 lalalaActionPerformed(evt);
  212.             }
  213.         });
  214.         jMenu3.add(lalala);
  215.  
  216.         jMenuBar1.add(jMenu3);
  217.  
  218.         setJMenuBar(jMenuBar1);
  219.  
  220.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  221.         getContentPane().setLayout(layout);
  222.         layout.setHorizontalGroup(
  223.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  224.             .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE)
  225.         );
  226.         layout.setVerticalGroup(
  227.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  228.             .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 379, Short.MAX_VALUE)
  229.         );
  230.  
  231.         pack();
  232.         setLocationRelativeTo(null);
  233.     }// </editor-fold>                        
  234.  
  235.     private void newMenuActionPerformed(java.awt.event.ActionEvent evt) {                                        
  236.         // TODO add your handling code here:
  237.         if(area51.getText()!="") {
  238.         int n = JOptionPane.showOptionDialog(this,
  239.                 "Apakah file ingin disimpan ?",
  240.                 "Simpan ?",
  241.                 JOptionPane.YES_NO_OPTION,
  242.                 JOptionPane.QUESTION_MESSAGE,
  243.                 null,
  244.                 option, option[0]);
  245.         if(n==0) saveMenu.doClick();
  246.         if(n==1) {};
  247.         }
  248.         area51.setText("");
  249.     }                                      
  250.  
  251.     private void openMenuActionPerformed(java.awt.event.ActionEvent evt) {                                        
  252.         // TODO add your handling code here:
  253.         area51.setEnabled(true);
  254.         returnVal = fc.showOpenDialog(this);
  255.        
  256.         try {
  257.             parseContent();
  258.         } catch (IOException ex) {
  259.             Logger.getLogger(nrp5213100087.class.getName()).log(Level.SEVERE, null, ex);
  260.         }
  261.     }                                        
  262.  
  263.     private void cekWrapActionPerformed(java.awt.event.ActionEvent evt) {                                        
  264.         // TODO add your handling code here:
  265.         if(cekWrap.isSelected()) {
  266.             area51.setLineWrap(true);
  267.             area51.setWrapStyleWord(true);
  268.         } else {
  269.             area51.setLineWrap(false);
  270.             area51.setWrapStyleWord(false);
  271.         }
  272.     }                                      
  273.  
  274.     private void exitMenuActionPerformed(java.awt.event.ActionEvent evt) {                                        
  275.         // TODO add your handling code here:
  276.         int n = JOptionPane.showOptionDialog(this,
  277.                 "Apakah file ingin disimpan ?",
  278.                 "Simpan ?",
  279.                 JOptionPane.YES_NO_OPTION,
  280.                 JOptionPane.QUESTION_MESSAGE,
  281.                 null,
  282.                 option, option[0]);
  283.         if(n==0) saveMenu.doClick();
  284.         if(n==1) {};
  285.         System.exit(0);
  286.     }                                        
  287.  
  288.     private void lalalaActionPerformed(java.awt.event.ActionEvent evt) {                                      
  289.         // TODO add your handling code here:
  290.         JOptionPane.showMessageDialog(this, "This note is made by \\nMuhammad Zuhri - 5213100087\\n");
  291.     }                                      
  292.  
  293.     private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
  294.         // TODO add your handling code here:
  295.     }                                      
  296.  
  297.     private void saveMenuActionPerformed(java.awt.event.ActionEvent evt) {                                        
  298.         // TODO add your handling code here:
  299.         returnVal = fc.showSaveDialog(this);
  300.         try {
  301.             storeContent();
  302.         } catch (IOException ex) {
  303.             Logger.getLogger(nrp5213100087.class.getName()).log(Level.SEVERE, null, ex);
  304.         }
  305.     }                                        
  306.  
  307.     private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  308.         // TODO add your handling code here:
  309.         area51.cut();
  310.     }                                          
  311.  
  312.     private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  313.         // TODO add your handling code here:
  314.         area51.copy();
  315.     }                                          
  316.  
  317.     private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  318.         // TODO add your handling code here:
  319.         area51.paste();
  320.     }                                          
  321.  
  322.     /**
  323.      * @param args the command line arguments
  324.      */
  325.     public static void main(String args[]) {
  326.         /* Set the Nimbus look and feel */
  327.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  328.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  329.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  330.          */
  331.         try {
  332.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  333.                 if ("Nimbus".equals(info.getName())) {
  334.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  335.                     break;
  336.                 }
  337.             }
  338.         } catch (ClassNotFoundException ex) {
  339.             java.util.logging.Logger.getLogger(nrp5213100087.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  340.         } catch (InstantiationException ex) {
  341.             java.util.logging.Logger.getLogger(nrp5213100087.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  342.         } catch (IllegalAccessException ex) {
  343.             java.util.logging.Logger.getLogger(nrp5213100087.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  344.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  345.             java.util.logging.Logger.getLogger(nrp5213100087.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  346.         }
  347.         //</editor-fold>
  348.  
  349.         /* Create and display the form */
  350.         java.awt.EventQueue.invokeLater(new Runnable() {
  351.             public void run() {
  352.                 new nrp5213100087().setVisible(true);
  353.             }
  354.         });
  355.     }
  356.     // Variables declaration - do not modify                    
  357.     private javax.swing.JTextArea area51;
  358.     private javax.swing.JCheckBoxMenuItem cekWrap;
  359.     private javax.swing.JMenuItem exitMenu;
  360.     private javax.swing.JMenu jMenu1;
  361.     private javax.swing.JMenu jMenu2;
  362.     private javax.swing.JMenu jMenu3;
  363.     private javax.swing.JMenu jMenu4;
  364.     private javax.swing.JMenuBar jMenuBar1;
  365.     private javax.swing.JMenuItem jMenuItem3;
  366.     private javax.swing.JMenuItem jMenuItem4;
  367.     private javax.swing.JMenuItem jMenuItem5;
  368.     private javax.swing.JScrollPane jScrollPane1;
  369.     private javax.swing.JPopupMenu.Separator jSeparator2;
  370.     private javax.swing.JMenuItem lalala;
  371.     private javax.swing.JMenuItem newMenu;
  372.     private javax.swing.JMenuItem openMenu;
  373.     private javax.swing.JMenuItem saveMenu;
  374.     // End of variables declaration                  
  375. }
');