Editor Java
Enviado por mikimiguel_2010 • 5 de Diciembre de 2012 • 1.503 Palabras (7 Páginas) • 384 Visitas
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class Edit extends JFrame {
//Inicializacion del tamaño de la fuente
int tamaño=20;
//Para explorar directorios para abrir y guardar archivos
JFileChooser fileChooser = null;
//Para escribir texto
JEditorPane editPane;
//Scroll del lado derecho
JScrollPane scrollPaneRight;
//Scroll del lado izquierdo
JScrollPane scrollPaneLeft;
//Panel izquierdo donde va la lista de archivo abiertos
JPanel leftPanel;
//La barra del Menu
JMenuBar menuBar;
//El menu
JMenu MArchivo;
JMenu MEdicion;
//Los items del menu
JMenuItem MNuevo;
JMenuItem MAbrir;
JMenuItem MGuardar;
JMenuItem MSalir;
JMenuItem MImprimir;
JMenuItem MCortar;
JMenuItem MPegar;
JMenuItem MBuscar;
JMenuItem MCopiar;
JMenuItem Fuente;
//Contenedor con division izquierda derecha
JSplitPane splitPane;
//El panel del estado y sus mensajes
JPanel statusPanel;
JLabel statusMsg1;
JLabel statusMsg2;
//Tool bar
JToolBar toolBar;
//Todos los botones
JButton BCortar;
JButton BAbrir;
JButton BGuardar;
JButton BCopiar;
JButton BPegar;
JButton BNuevo;
JButton BImprimir;
JButton openSelectedButton;
private JComboBox tFuente;
private Font areaFuente;
private JScrollPane scroll;
//cajas de texto
JTextArea Texto = new JTextArea();
JTextArea Errores=new JTextArea(6,1);
String Copiar="";
//La lista que se despliega en el lado izquierdo
JList list;
//Vector para almacenar los archivos abiertos
Vector fileVector = new Vector();
String fileName;
boolean isSaved = false;
//Clase interna para manejar los eventos
class EventHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//Si se elige salir en el menu
if (e.getSource() == MSalir)
{
//Si el archivo abierto no esta en blanco y no esta guardado
if (!isSaved && !editPane.getText().equals(""))
askSave();
System.exit(0);
}
//Si se elige abrir un archivo en el menu o con el boton de abrir en el toolbar
if (e.getSource() == MAbrir || e.getSource() == BAbrir)
{
//misma verificacion anterior
if (!isSaved && !editPane.getText().equals(""))
askSave();
openFile();
}
//Si se elige en el menu editar un archivo en blanco
if (e.getSource() == MNuevo)
{
//idem
if (!isSaved && !editPane.getText().equals(""))
askSave();
newFile();
}
//Si se elige guardar en el menu o en el toolbar
if (e.getSource() == MGuardar || e.getSource() == BGuardar)
saveFile();
if (e.getSource() == BCopiar || e.getSource() == MCopiar)
editPane.copy();
if (e.getSource() == BCortar || e.getSource() == MCortar)
editPane.cut();
if (e.getSource() == BPegar|| e.getSource() == MPegar )
editPane.paste();
if(e.getSource()==MImprimir || e.getSource()==BImprimir) {
imprimir();
}
//Si se elige el boton abrir la lista del lado izquierdo
if (e.getSource() == openSelectedButton)
openFile();
};
};
ActionListener eventHandler = new EventHandler();
public Edit(String title)
{
super(title);
}
//Agrega un archivo a la lista de la izquierda
public void agregaLista(String file)
{
if (fileVector.contains(file))
return;
fileVector.add(file);
Collections.sort(fileVector);
list.setListData(fileVector);
}
//Dialogo que verifica si el usuario desea guardar el archivo
public void askSave()
{
//Componente que muestra ventanas de opciones
JOptionPane optionPane=new JOptionPane();
Object[] opciones={"SÌ","No"};
//Dialogo modal SI_NO
int ret=optionPane.showOptionDialog(this,"Desea guardar? ","Pregunta",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,opciones,opciones[0]);
//Si la opcion escogida es Si
if(ret==JOptionPane.YES_OPTION)
saveFile();
}
//Suscribe los objetos al manejador de eventos eventHandler
public void initConnections()
{
MNuevo.addActionListener(eventHandler);
MAbrir.addActionListener(eventHandler);
MGuardar.addActionListener(eventHandler);
MSalir.addActionListener(eventHandler);
MImprimir.addActionListener(eventHandler);
MCopiar.addActionListener(eventHandler);
MPegar.addActionListener(eventHandler);
MBuscar.addActionListener(eventHandler);
tFuente.addActionListener(eventHandler);
BAbrir.addActionListener(eventHandler);
BGuardar.addActionListener(eventHandler);
BCopiar.addActionListener(eventHandler);
BCortar.addActionListener(eventHandler);
BPegar.addActionListener(eventHandler);
BImprimir.addActionListener(eventHandler);
openSelectedButton.addActionListener(eventHandler);
}
//Inicializa las componentes de la aplicacion
public void initialize()
{
//Define que el Layout del contenedor sea de tipo BorderLayout
this.getContentPane().setLayout(new BorderLayout());
// Clase anonima para que la aplicacion se cierre al apretar la X (boton esquina superior derecha)
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if
...