Advertisement
mbah_bejo

grid

Dec 23rd, 2020
920
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.36 KB | None | 0 0
  1. /**
  2.  *  Jadi ini adalah class grid dari Notepad mantap keren bisa bikin jago ngoding anjay
  3.  *  jenis yang digunakan  adalah file .txt
  4.  *  disini mengatur programnya untuk membuka , menyimpan, dan menutup program
  5.  *
  6.  *  Author thomasdwi.a
  7.  *  Version 20201224
  8.  */
  9.  
  10. import javax.swing.*;
  11. import java.awt.*;
  12. import java.awt.event.ActionEvent;
  13. import java.awt.event.ActionListener;
  14. import java.io.BufferedWriter;
  15. import java.io.FileReader;
  16. import java.io.FileWriter;
  17. import java.util.Scanner;
  18.  
  19. public class grid extends JFrame {
  20.     int fileToOpen;
  21.     int fileToSave;
  22.     JFileChooser fileOpen;
  23.     JFileChooser fileSave;
  24.  
  25.     grid(){
  26.  
  27.         // jadi ini bagian constructornya
  28.         MenuBar menuBar = new MenuBar();
  29.         MenuItem menuItem = new MenuItem();
  30.         final JTextArea textArea = new JTextArea();
  31.         setMenuBar(menuBar);
  32.         Menu file = new Menu("file");
  33.         menuBar.add(file);
  34.         MenuItem newOption = new MenuItem("Baru");
  35.         MenuItem buka = new MenuItem("Buka");
  36.         MenuItem simpan = new MenuItem("Simpan");
  37.         MenuItem tutup = new MenuItem("Keluar");
  38.  
  39.         file.add(newOption);
  40.         file.add(buka);
  41.         file.add(simpan);
  42.         file.add(tutup);
  43.         getContentPane().add(textArea);
  44.  
  45.  
  46.         /**
  47.          * method ini berjalaan saat membuat file baru
  48.          */
  49.         newOption.addActionListener(new ActionListener() {
  50.             @Override
  51.             public void actionPerformed(ActionEvent e) {
  52.                 textArea.setText("");
  53.             }
  54.         });
  55.  
  56.         /**
  57.          * method ini berfungsi untuk membuka file yang
  58.          * sudah di buat oleh user
  59.          */
  60.         buka.addActionListener(new ActionListener() {
  61.             @Override
  62.             public void actionPerformed(ActionEvent e) {
  63.                 openFile();
  64.                 if(fileToOpen == JFileChooser.APPROVE_OPTION){
  65.                     textArea.setText(""); //membuat text area
  66.                     try{
  67.                         //men-scan isi text dan ditampilkan ke notepad keren ini
  68.                         Scanner scan = new Scanner(new FileReader(fileOpen.getSelectedFile().getPath()));
  69.                                 while(scan.hasNext())
  70.                                     textArea.append(scan.nextLine());
  71.                     } catch (Exception ex){
  72.                         //jika error, akan menampilkan pesan error
  73.                         System.out.println(ex.getMessage());
  74.                     }
  75.                 }
  76.             }
  77.         });
  78.  
  79.         /**
  80.          * method ini berfungsi untuk memnyimpan file yang
  81.          * sudah di buat oleh user di notepad
  82.          */
  83.         simpan.addActionListener(new ActionListener() {
  84.             @Override
  85.             public void actionPerformed(ActionEvent e) {
  86.                 saveFile();
  87.                 if(fileToSave == JFileChooser.APPROVE_OPTION){
  88.                     try{
  89.                         //men-write text yang sudah dituliskan
  90.                         //dan disimpan ke file yang dituju/dibuat
  91.                         BufferedWriter out = new BufferedWriter(new FileWriter(fileSave.getSelectedFile().getPath()));
  92.                         out.write(textArea.getText());
  93.                         out.close();
  94.                     }
  95.                     catch (Exception ex){
  96.                         //jika error, akan menampilkan pesan error
  97.                         System.out.println(ex.getMessage());
  98.                     }
  99.                 }
  100.             }
  101.         });
  102.  
  103.         /**
  104.          * method ini berfungsi untuk menutup notepad
  105.          */
  106.         tutup.addActionListener(new ActionListener() {
  107.             @Override
  108.             public void actionPerformed(ActionEvent e) {
  109.                 System.exit(0);
  110.             }
  111.         });
  112.     }
  113.  
  114.     /**
  115.      * membuka file chooser saat mau membuka
  116.      * file yang diinginkan
  117.      */
  118.     public void openFile(){
  119.         JFileChooser open = new JFileChooser();
  120.         int option = open.showOpenDialog(this);
  121.         fileToOpen = option;
  122.         fileOpen = open;
  123.     }
  124.  
  125.     /**
  126.      * membuka file chooser untuk menentukan
  127.      * lokasi penyimpanan file yang diinginkan
  128.      */
  129.     public void saveFile(){
  130.         JFileChooser save =  new JFileChooser();
  131.         int option = save.showOpenDialog(this);
  132.         fileToSave = option;
  133.         fileSave = save;
  134.     }
  135. }
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement