TUGAS PBO-C Pertemuan-10 : Text Editor
TUGAS PBO-C Pertemuan-10 : Text Editor
Pada pertemuan kesepuluh kelas PBO-C, saya diberi tugas untuk membuat Program Text Editor dengan menggunakan Blue-J. Text Editor itu tersendiri yaitu program yang bisa kita pakai untuk mengetik dan menyimpan dokumen-dokumen yang akan kita tulis nantinya.
Source Code dari Text Editor :
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.plaf.metal.*;
import javax.swing.text.*;
public class TextEditor extends JFrame implements ActionListener
{
// Text component
JTextArea t;
// Frame
JFrame f;
// Constructor
TextEditor()
{
// Create a frame
f = new JFrame("Text Editor");
try
{
// Set metal look and feel
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
// Set theme to ocean
MetalLookAndFeel.setCurrentTheme(new OceanTheme());
} catch (Exception e) {
}
// Text component
t = new JTextArea();
// Create a menubar
JMenuBar mb = new JMenuBar();
// Create a menu for menu
JMenu m1 = new JMenu("File");
// Create menu items
JMenuItem mi1 = new JMenuItem("New");
JMenuItem mi2 = new JMenuItem("Open");
JMenuItem mi3 = new JMenuItem("Save");
JMenuItem mi9 = new JMenuItem("Print");
// Add action listener
mi1.addActionListener(this);
mi2.addActionListener(this);
mi3.addActionListener(this);
mi9.addActionListener(this);
m1.add(mi1);
m1.add(mi2);
m1.add(mi3);
m1.add(mi9);
// Create a menu for menu
JMenu m2 = new JMenu("Edit");
// Create menu items
JMenuItem mi4 = new JMenuItem("Cut");
JMenuItem mi5 = new JMenuItem("Copy");
JMenuItem mi6 = new JMenuItem("Paste");
// Add action listener
mi4.addActionListener(this);
mi5.addActionListener(this);
mi6.addActionListener(this);
m2.add(mi4);
m2.add(mi5);
m2.add(mi6);
JMenuItem mc = new JMenuItem("Close");
mc.addActionListener(this);
mb.add(m1);
mb.add(m2);
mb.add(mc);
f.setJMenuBar(mb);
f.add(t);
f.setSize(500, 500);
f.show();
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand().toLowerCase();
if (s.equals("cut"))
{
t.cut();
} else if (s.equals("copy")) {
t.copy();
} else if (s.equals("paste")) {
t.paste();
} else if (s.equals("save")) {
// Create an object of JFileChooser class
JFileChooser j = new JFileChooser("c:");
// Invoke the showSaveDialog function to show the save dialog
int r = j.showSaveDialog(null);
if (r == JFileChooser.APPROVE_OPTION) {
// Set the label to the path of the selected directory
File fi = new File(j.getSelectedFile().getAbsolutePath());
try
{
// Create a file writer
FileWriter wr = new FileWriter(fi, false);
// Create buffered writer to write
BufferedWriter w = new BufferedWriter(wr);
// Write
w.write(t.getText());
w.flush();
w.close();
} catch (Exception evt) {
JOptionPane.showMessageDialog(f, evt.getMessage());
}
} else JOptionPane.showMessageDialog(f, "The user cancelled the operation"); // If the user cancelled the operation
} else if (s.equals("print")) {
try {
// Print the file
t.print();
} catch (Exception evt) {
JOptionPane.showMessageDialog(f, evt.getMessage());
}
} else if (s.equals("open")) {
// Create an object of JFileChooser class
JFileChooser j = new JFileChooser("c:");
// Invoke the showOpenDialog function to show the open dialog
int r = j.showOpenDialog(null);
// If the user selects a file
if (r == JFileChooser.APPROVE_OPTION)
{
// Set the label to the path of the selected directory
File fi = new File(j.getSelectedFile().getAbsolutePath());
try
{
// String
String s1 = "", sl = "";
// File reader
FileReader fr = new FileReader(fi);
// Buffered reader
BufferedReader br = new BufferedReader(fr);
// Initialize sl
sl = br.readLine();
// Take the input from the file
while ((s1 = br.readLine()) != null)
{
sl = sl + "\n" + s1;
}
// Set the text
t.setText(sl);
} catch (Exception evt) {
JOptionPane.showMessageDialog(f, evt.getMessage());
}
} else JOptionPane.showMessageDialog(f, "The user cancelled the operation"); // If the user cancelled the operation
} else if (s.equals("new")) {
t.setText("");
} else if (s.equals("close")) {
f.setVisible(false);
}
}
public static void main(String[] args)
{
TextEditor te = new TextEditor();
}
}
Hasil Output dari Programmnya:
Komentar
Posting Komentar