Notepad Sederhana
Notepad Sederhana
dalam kesempatan kali ini saya akan membat sebuah notepad sederhana dengan implementasi dari java.io
untuk akses file dan direktori. ada 2 class yaitu main dan grid
main
import javax.swing.JFrame;
public class main {
public static void main(String [] args){
JFrame frame = new grid();
frame.setTitle("NOTEPAD 101");
frame.setVisible(true);
frame.setSize(1280, 720);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
frame.setLocationRelativeTo(null);
}
}
gridimport javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Scanner;
public class grid extends JFrame {
int fileToOpen;
int fileToSave;
JFileChooser fileOpen;
JFileChooser fileSave;
grid(){
// jadi ini bagian constructornya
MenuBar menuBar = new MenuBar();
MenuItem menuItem = new MenuItem();
final JTextArea textArea = new JTextArea();
setMenuBar(menuBar);
Menu file = new Menu("file");
menuBar.add(file);
MenuItem newOption = new MenuItem("Baru");
MenuItem buka = new MenuItem("Buka");
MenuItem simpan = new MenuItem("Simpan");
MenuItem tutup = new MenuItem("Keluar");
file.add(newOption);
file.add(buka);
file.add(simpan);
file.add(tutup);
getContentPane().add(textArea);
newOption.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.setText("");
}
});
buka.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
openFile();
if(fileToOpen == JFileChooser.APPROVE_OPTION){
textArea.setText(""); //membuat text area
try{
//men-scan isi text dan ditampilkan ke notepad keren ini
Scanner scan = new Scanner(new FileReader(fileOpen.getSelectedFile().getPath()));
while(scan.hasNext())
textArea.append(scan.nextLine());
} catch (Exception ex){
//jika error, akan menampilkan pesan error
System.out.println(ex.getMessage());
}
}
}
});
simpan.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
saveFile();
if(fileToSave == JFileChooser.APPROVE_OPTION){
try{
//men-write text yang sudah dituliskan
//dan disimpan ke file yang dituju/dibuat
BufferedWriter out = new BufferedWriter(new FileWriter(fileSave.getSelectedFile().getPath()));
out.write(textArea.getText());
out.close();
}
catch (Exception ex){
//jika error, akan menampilkan pesan error
System.out.println(ex.getMessage());
}
}
}
});
tutup.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public void openFile(){
JFileChooser open = new JFileChooser();
int option = open.showOpenDialog(this);
fileToOpen = option;
fileOpen = open;
}
public void saveFile(){
JFileChooser save = new JFileChooser();
int option = save.showOpenDialog(this);
fileToSave = option;
fileSave = save;
}
}
Komentar
Posting Komentar