EditorTeks.java (Pemrograman Berorientasi Objek)

EditorTeks.java

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class EditorTeks extends Frame {
   int lebar = 400;
   int tinggi = 250;
   String namaFile = " " ;
   TextArea tArea;
   MenuItem itemBuka;
   MenuItem itemSimpan;
   MenuItem itemKeluar;
   MenuItem itemPutih;
   MenuItem itemAbuabu;
   MenuItem itemHitam;
   MenuItem itemBiru;
   Button panelTombol;


   public static void main (String[] args) {
      EditorTeks ap1 = new EditorTeks();
   }

   public EditorTeks() {
      super ("Editor Teks Sederhana");
      setSize (lebar, tinggi);
     Button tombolPerbesar = new Button("Perbesar");
             Button tombolPerkecil = new Button("Perkecil");
             Button tombolSelesai = new Button("Selesai");
             Panel panelTombol = new Panel();
             panelTombol.add(tombolPerbesar);
             panelTombol.add(tombolPerkecil);
             panelTombol.add(tombolSelesai);
             add("South", panelTombol);
             tombolPerbesar.addActionListener(new EditorTeks.PenanganTombol());
             tombolPerkecil.addActionListener(new EditorTeks.PenanganTombol());
             tombolSelesai.addActionListener(new EditorTeks.PenanganTombol());

      MenuBar menuAp1 = new MenuBar();
      setMenuBar (menuAp1);

      Menu menuFile = new Menu ("File");
      Menu menuWarna = new Menu ("Warna");
      Menu menuView = new Menu ("View");
      Menu menuHelp = new Menu ("Help");
      menuAp1.add (menuFile);
      menuAp1.add (menuWarna);
      menuAp1.add (menuView);
      menuAp1.add (menuHelp);

      MenuItem itemGaris;

      itemBuka = new MenuItem ("Buka...");
      itemSimpan = new MenuItem ("Simpan...");
      itemGaris = new MenuItem ("-------");
      itemKeluar = new MenuItem ("Keluar");

      menuFile.add (itemBuka);
      menuFile.add (itemSimpan);
      menuFile.add (itemGaris);
      menuFile.add (itemKeluar);

      Menu submenuWarnaLB = new Menu ("Warna Latar Belakang");
      Menu submenuWarnaTeks = new Menu ("Warna Teks");

      menuWarna.add (submenuWarnaLB);
      menuWarna.add (submenuWarnaTeks);

      MenuItem itemPutih = new MenuItem ("Putih");
      MenuItem itemAbuabu = new MenuItem ("Abu-abu");
      MenuItem itemPink = new MenuItem ("Pink");
      submenuWarnaLB.add (itemPutih);
      submenuWarnaLB.add (itemAbuabu);
      submenuWarnaLB.add (itemPink);

      MenuItem itemHitam = new MenuItem ("Hitam");
      MenuItem itemBiru = new MenuItem ("Biru");
      MenuItem itemCyan = new MenuItem ("Cyan");
      MenuItem itemHijau = new MenuItem ("Hijau");
      MenuItem itemKuning = new MenuItem ("Kuning");
      submenuWarnaTeks.add (itemHitam);
      submenuWarnaTeks.add (itemBiru);
      submenuWarnaTeks.add (itemCyan);
      submenuWarnaTeks.add (itemHijau);
      submenuWarnaTeks.add (itemKuning);

      tArea = new TextArea (" ");
      tArea.setFont (new Font("monospaced", Font.PLAIN, 12));

      add (tArea);

      itemBuka.addActionListener (new EditorTeks.PenanganItemMenu());
      itemSimpan.addActionListener (new EditorTeks.PenanganItemMenu());
      itemKeluar.addActionListener (new EditorTeks.PenanganItemMenu());
      itemPutih.addActionListener (new EditorTeks.PenanganItemMenu());
      itemAbuabu.addActionListener (new EditorTeks.PenanganItemMenu());
      itemPink.addActionListener (new EditorTeks.PenanganItemMenu());
      itemHitam.addActionListener (new EditorTeks.PenanganItemMenu());
      itemBiru.addActionListener (new EditorTeks.PenanganItemMenu());
      itemCyan.addActionListener (new EditorTeks.PenanganItemMenu());
      itemHijau.addActionListener (new EditorTeks.PenanganItemMenu());
      itemKuning.addActionListener (new EditorTeks.PenanganItemMenu());

     addWindowListener (
             new EditorTeks.PenanganKejadian());

             show();
             }
             class PenanganTombol implements ActionListener {
             public void actionPerformed(ActionEvent e){
             String s = e.getActionCommand();
             if (s.equals("Perbesar")) {
             lebar += 20;
             tinggi += 10;
             setSize(lebar, tinggi);
             }
             else
             if (s.equals("Perkecil")) {
             lebar -= 20;
             tinggi -= 10;
             setSize(lebar, tinggi);
             }
             else
             if (s.equals("Selesai")) {
             System.exit(0);
             }
             }
             }
             class PenanganKejadian extends WindowAdapter {
             public void windowClosing(WindowEvent e) {
             System.exit(0);
             }
}

   public void buka() {
      FileDialog fd = new FileDialog (this, "Buka Berkas");
      fd.show();

      this.namaFile = fd.getFile();
      String namaDir = fd.getDirectory();
      this.namaFile = namaDir + this.namaFile;
      if (this.namaFile == null)
          return;

      FileReader berkasMasukan = null;
      String data = " ";

      try {
        berkasMasukan = new FileReader (this.namaFile);

      BufferedReader streamMasukan = new BufferedReader (berkasMasukan);

      while (true) {
         String barisData = streamMasukan.readLine();

         if (barisData == null)
             break;

         data = data + barisData + "\n";
      }

      berkasMasukan.close();
   }
   catch (IOException i) {
      System.err.println (i.getMessage());
   }

   tArea.setText(data);
   }

   public void simpan() {
      try {
         FileWriter berkasKeluaran = new FileWriter (this.namaFile);
         String isiTextArea = tArea.getText();
         berkasKeluaran.write (isiTextArea);
         berkasKeluaran.write (isiTextArea);
         berkasKeluaran.flush();
         berkasKeluaran.close();
      }
      catch (IOException i) {
         System.err.println(i.getMessage());
      }
   }

   class PenanganItemMenu implements ActionListener {
      public void actionPerformed (ActionEvent e) {
         String perintah = e.getActionCommand();
         if (perintah.equals("Buka..."))
           buka();
         else if (perintah.equals("Simpan..."))
           simpan();
         else if (perintah.equals("Keluar"))
           dispose();
         else if (perintah.equals("Putih"))
           tArea.setBackground(Color.WHITE);
         else if (perintah.equals("Abu-abu"))
           tArea.setBackground(Color.GRAY);
         else if (perintah.equals("Pink"))
           tArea.setBackground(Color.PINK);
         else if (perintah.equals("Hitam"))
           tArea.setForeground(Color.BLACK);
         else if (perintah.equals("Biru"))
           tArea.setForeground(Color.BLUE);
          else if (perintah.equals("Cyan"))
           tArea.setForeground(Color.CYAN);
          else if (perintah.equals("Hijau"))
           tArea.setForeground(Color.GREEN);
          else if (perintah.equals("Kuning"))
           tArea.setForeground(Color.YELLOW);
      }
   }
}

Di Compile dengan ctrl-1

Lalu ctrl-2 untuk run
Maka akan tampil

Pilih file, untuk submenu
Buka,Simpan, dan Keluar

Jika kita Klik Buka maka, akan terbuka jendela baru untuk memilih file yang akan dibuka :

Jika kita Klik Warna ada sub menu warna latar belakang dan warna teks

Warna latar belakang kita pilih pink, lalu pilih warna teks

Warna teks kita pilih biru :

Dan tombol Perbesar,Perkecil dan Selesai dapat di eksekusi







0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.

Followers

Back to top