Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import javax.imageio.stream.ImageInputStream;
- import javax.swing.*;
- import java.io.*;
- import java.awt.event.*;
- import javax.swing.plaf.metal.*;
- import javax.swing.text.*;
- public class Editor extends JFrame implements ActionListener
- {
- //Komponen untuk menulis text
- JTextArea Teks;
- //Frame pada aplikasi editor
- JFrame Kotak;
- //Constructor
- Editor()
- {
- //Membuat Frame
- Kotak = new JFrame("Text Editor");
- try{
- // untuk mengatur tampilan
- UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
- // Mengatur Tema
- MetalLookAndFeel.setCurrentTheme(new OceanTheme());
- }
- catch (Exception e) {
- }
- //Component Text
- Teks = new JTextArea();
- //Membuat Menu Bar
- JMenuBar mb = new JMenuBar();
- //Membuat Menu File
- JMenu m1 = new JMenu("File");
- //Create Menu Item
- JMenuItem mi1 = new JMenuItem("New");
- JMenuItem mi2 = new JMenuItem("Open");
- JMenuItem mi3 = new JMenuItem("Save");
- JMenuItem mi4 = new JMenuItem("Print");
- mi1.addActionListener(this);
- mi2.addActionListener(this);
- mi3.addActionListener(this);
- mi4.addActionListener(this);
- m1.add(mi1);
- m1.add(mi2);
- m1.add(mi3);
- m1.add(mi4);
- //Membuat sebuah menu dalam Kotak Menu
- JMenu m2 = new JMenu("Edit");
- //Membuat Menu item di menu edit
- JMenuItem mi5 = new JMenuItem("Cut");
- JMenuItem mi6 = new JMenuItem("Copy");
- JMenuItem mi7 = new JMenuItem("Paste");
- m2.add(mi5);
- m2.add(mi6);
- m2.add(mi7);
- //Membuat menu item close
- JMenuItem mc = new JMenuItem("Close");
- mc.addActionListener(this);
- mb.add(m1);
- mb.add(m2);
- mb.add(mc);
- Kotak.setJMenuBar(mb);
- Kotak.add(Teks);
- Kotak.setSize(550,550);
- Kotak.show();
- }
- public void actionPerformed(ActionEvent e)
- {
- String s = e.getActionCommand();
- if(s.equals("cut"))
- {
- Teks.cut();
- }
- if(s.equals("copy"))
- {
- Teks.copy();
- }
- if(s.equals("paste"))
- {
- Teks.paste();
- }
- else if (s.equals("Save"))
- {
- // Membuat object ddari JfileChooser Class
- JFileChooser j = new JFileChooser("d:");
- int r = j.showSaveDialog(null);
- if (r == JFileChooser.APPROVE_OPTION) {
- // membuat set label ke tempat yang ingin di save
- File fi = new File(j.getSelectedFile().getAbsolutePath());
- try {
- //membuat file writer
- FileWriter wr = new FileWriter(fi, false);
- //membuat buffered write
- BufferedWriter w = new BufferedWriter(wr);
- //write
- w.write(Teks.getText());
- w.flush();
- w.close();
- }
- catch (Exception evt)
- {
- JOptionPane.showMessageDialog(Kotak,evt.getMessage());
- }
- }
- }
- else if(s.equals("Open"))
- {
- JFileChooser j = new JFileChooser();
- int r = j.showOpenDialog(null);
- if(r == JFileChooser.APPROVE_OPTION)
- {
- File fi = new File(j.getSelectedFile().getAbsolutePath());
- try{
- //String
- String s1 = "" ,sl ="";
- FileReader fr = new FileReader(fi);
- BufferedReader br = new BufferedReader(fr);
- sl = br.readLine();
- while ((s1 = br.readLine()) != null)
- {
- sl = sl + "\n" + s1;
- }
- Teks.setText(sl);
- }
- catch (Exception evt)
- {
- JOptionPane.showMessageDialog(Kotak,"user telah membatalkan operasi");
- }
- }
- else if (s.equals("New"))
- {
- Teks.setText("");
- }
- else if (s.equals("Close"))
- {
- Kotak.setVisible(false);
- }
- }
- }
- // Class Utama
- public static void main(String args[])
- {
- Editor e = new Editor();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement