un Editor de Texto :p

Código: java

// By Black Poison
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class programa extends JFrame {
private static final long serialVersionUID = 1L;
BorderLayout borderLayout1 = new BorderLayout();
JPanel panel = new JPanel();
JMenuBar barraDeMenu = new JMenuBar();
JMenu archivo = new JMenu();
JTextArea areaDeTexto = new JTextArea();
JScrollPane scrollPane = new JScrollPane();
JFileChooser jfc = new JFileChooser();
JMenuItem archivo_Nuevo = new JMenuItem();
JMenuItem archivo_Abrir = new JMenuItem();
JMenuItem archivo_Guardar = new JMenuItem();
JMenuItem archivo_GuardarComo = new JMenuItem();
JMenuItem archivo_Salir = new JMenuItem();
@SuppressWarnings("deprecation")
public programa() {
panel.setLayout(borderLayout1);
super.setTitle("Editor De Textos By Black Poison");
archivo.setText("Archivo");
archivo_Nuevo.setText("Nuevo");
archivo_Abrir.setText("Abrir");
archivo_Guardar.setText("Guardar");
archivo_GuardarComo.setText("Guardar como...");
archivo_Salir.setText("Salir");
barraDeMenu.add(archivo);
archivo.add(archivo_Nuevo);
archivo.add(archivo_Abrir);
archivo.add(archivo_Guardar);
archivo.add(archivo_GuardarComo);
archivo.add(archivo_Salir);
this.setJMenuBar(barraDeMenu);
this.getContentPane().add(panel, BorderLayout.CENTER);
this.getContentPane().setPreferredSize(new Dimension(400,400));
this.getContentPane().add(scrollPane, BorderLayout.CENTER);
scrollPane.getViewport().add(areaDeTexto, null);
archivo_Nuevo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
areaDeTexto.setText("");
}
});
archivo_Abrir.addActionListener(new ActionListener() {
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent e) {
if(e.getSource() == archivo_Abrir) {
int abroArchivo = jfc.showOpenDialog(programa.this);
if(abroArchivo == jfc.APPROVE_OPTION) {
File archivo = jfc.getSelectedFile();
FileInputStream miArchivo;
int sizeArchivo = Long.valueOf(archivo.length()).intValue();
byte archivoALeer[]= new byte[sizeArchivo];
try {
miArchivo = new FileInputStream(archivo.getPath());
miArchivo.read(archivoALeer);
areaDeTexto.append(new String(archivoALeer));
miArchivo.close();
}
catch(IOException ex)
{
System.out.println("Error : "+ex.getMessage());
}
}
areaDeTexto.setCaretPosition(areaDeTexto.getDocument().getLength());
}
}
});
archivo_Guardar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
File archivo = jfc.getSelectedFile();
FileOutputStream miArchivo;
String contenidoTexto = new String();
try {
miArchivo = new FileOutputStream(archivo.getPath());
contenidoTexto = areaDeTexto.getText();
miArchivo.write(contenidoTexto.getBytes());
miArchivo.close();
}
catch(IOException ex) {
System.out.println("Error : "+ex.getMessage());
}
}
});
archivo_GuardarComo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getSource() == archivo_GuardarComo) {
int guardoArchivo = jfc.showSaveDialog(programa.this);
if(guardoArchivo == JFileChooser.APPROVE_OPTION) {
File archivo = jfc.getSelectedFile();
FileOutputStream miArchivo;
String contenidoTexto = new String();
try {
miArchivo = new FileOutputStream(archivo.getPath());
contenidoTexto = new String(areaDeTexto.getText());
miArchivo.write(contenidoTexto.getBytes());
miArchivo.close();
}
catch(IOException ex) {
System.out.println("Error : "+ex.getMessage());
}
}
}
}
});
archivo_Salir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
super.pack();
super.show();
}
public static void main(String argv[]) {
new programa();
}
}