trizehn

TextEditor

Jan 14th, 2021
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.00 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.io.*;
  3. import java.awt.event.*;
  4. /**
  5.  * TextEditor berguna untuk menulis text, membuka file .txt dan berbagai
  6.  * fungsi lain seperti kegunaan aplikasi notepad
  7.  *
  8.  * @author Daffa Tristan Firdaus
  9.  * @version 14 Januari 2021
  10.  */
  11. public class TextEditor extends JFrame implements ActionListener{
  12.     private JTextArea t;
  13.     private JFrame f;
  14.  
  15.     TextEditor(){//constructor
  16.         f = new JFrame("Text Editor");
  17.         t = new JTextArea();
  18.  
  19.         JMenuBar mb = new JMenuBar();
  20.  
  21.         JMenu m1 = new JMenu("File");
  22.         JMenuItem mi1 = new JMenuItem("New");
  23.         JMenuItem mi2 = new JMenuItem("Open");
  24.         JMenuItem mi3 = new JMenuItem("Save");
  25.         JMenuItem mi4 = new JMenuItem("Print");
  26.  
  27.         mi1.addActionListener(this);
  28.         mi2.addActionListener(this);
  29.         mi3.addActionListener(this);
  30.         mi4.addActionListener(this);
  31.  
  32.         m1.add(mi1);
  33.         m1.add(mi2);
  34.         m1.add(mi3);
  35.         m1.add(mi4);
  36.  
  37.         JMenu m2 = new JMenu("Edit");
  38.         JMenuItem mi5 = new JMenuItem("Cut");
  39.         JMenuItem mi6 = new JMenuItem("Copy");
  40.         JMenuItem mi7 = new JMenuItem("Paste");
  41.  
  42.         mi5.addActionListener(this);
  43.         mi6.addActionListener(this);
  44.         mi7.addActionListener(this);
  45.  
  46.         m2.add(mi5);
  47.         m2.add(mi6);
  48.         m2.add(mi7);
  49.  
  50.         JMenuItem mc = new JMenuItem("Close");
  51.  
  52.         mc.addActionListener(this);
  53.  
  54.         mb.add(m1);
  55.         mb.add(m2);
  56.         mb.add(mc);
  57.  
  58.         f.setJMenuBar(mb);
  59.         f.add(t);
  60.         f.setSize(500,500);
  61.         f.show();
  62.     }
  63.  
  64.     public void actionPerformed(ActionEvent e){
  65.         String s = e.getActionCommand();
  66.         if(s.equals("Cut")){
  67.             t.cut();
  68.         }else if(s.equals("Copy")){
  69.             t.copy();
  70.         }else if(s.equals("Paste")){
  71.             t.paste();
  72.         }else if(s.equals("Save")){
  73.             JFileChooser j = new JFileChooser("f:");
  74.  
  75.             int r = j.showSaveDialog(null);
  76.  
  77.             if(r == JFileChooser.APPROVE_OPTION){
  78.                 File fi = new File(j.getSelectedFile().getAbsolutePath());
  79.  
  80.                 try{
  81.                     FileWriter wr = new FileWriter(fi,false);
  82.                     BufferedWriter w = new BufferedWriter(wr);
  83.  
  84.                     w.write(t.getText());
  85.                     w.flush();
  86.                     w.close();
  87.                 }catch(Exception evt){
  88.                     JOptionPane.showMessageDialog(f,evt.getMessage());
  89.  
  90.                 }
  91.             }else{
  92.                 JOptionPane.showMessageDialog(f,"the user cancelled the operation");
  93.             }
  94.         }else if(s.equals("Print")){
  95.             try{
  96.                 t.print();
  97.             }catch(Exception evt){
  98.                 JOptionPane.showMessageDialog(f,evt.getMessage());
  99.             }
  100.         }else if(s.equals("Open")){
  101.             JFileChooser j = new JFileChooser("f:");
  102.  
  103.             int r = j.showOpenDialog(null);
  104.  
  105.             if(r == JFileChooser.APPROVE_OPTION){
  106.                 File fi = new File(j.getSelectedFile().getAbsolutePath());
  107.  
  108.                 try{
  109.                     String s1 = "", sl = "";
  110.  
  111.                     FileReader fr = new FileReader(fi);
  112.  
  113.                     BufferedReader br = new BufferedReader(fr);
  114.                     sl = br.readLine();
  115.  
  116.                     while((s1 = br.readLine()) != null){
  117.                         sl = sl + "\n" + s1;
  118.                     }
  119.  
  120.                     t.setText(sl);
  121.                 }catch(Exception evt){
  122.                     JOptionPane.showMessageDialog(f,evt.getMessage());
  123.                 }
  124.             }else{
  125.                 JOptionPane.showMessageDialog(f,"the user cancelled the operation");
  126.             }
  127.         }else if(s.equals("New")){
  128.             t.setText("");
  129.         }else if(s.equals("Close")){
  130.             t.setVisible(false);
  131.         }
  132.  
  133.     }
  134.  
  135.     public static void main (String[] args[]){
  136.         TextEditor te = new TextEditor();
  137.     }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment