Buscando un editor de texto escrito en JAVA.
Importar Java .evento *; ActionListener, MouseListener, MouseMotionListener, WindowListener, ItemListener, KeyListener, TextListener */
{
//Variables miembro
Host de marco privado //Marco principal<; /p>
Barra de menú privada MB; //Barra de menú
Menú privado mFile, mEdit, mFormat, mHelp//Menú: Archivo, Editar, Formato, Ayuda
privado MenuItem miNew, miOpen, miSave, miSaveAs, miExit//Elementos del menú Archivo: Nuevo, Abrir, Guardar, Guardar como, Salir.
Menú privado miCut, miCopy, miPaste, miDelete//Editar elementos del menú: cortar, copiar, pegar, eliminar.
Elemento de menú privado miFont, miLowtoCapital, miCapitaltoLow, miEncrypt, miDisencrypt//Elemento de menú Formato: Fuente
Elemento de menú privado miAboutNotepad//Elemento de menú Ayuda: Acerca del Bloc de notas
Private TextArea ta//Área de texto
Cadena privada tempString//Cadena temporal, utilizada para almacenar cadenas que se copiarán y pegarán.
valor de texto booleano privado cambiado = false;
private int id _ font//Fuente
Nombre del archivo de cadena = " ";//Después del último archivo guardado nombre y dirección.
//Constructor
Bloc de notas público(){
//Framework
Mainframe = new Framework("Bloc de notas v0.99 de lanzando");
MB = new MenuBar();
ta = new TextArea (30, 60);
ta.setFont( Nueva fuente (" Times New Rome", fuente.
Normal, 15));
ta.setBackground(new color(0, 250, 200));
//Barra de menú
mFile = nuevo menú ("Archivo");
mEdit = nuevo menú ("Editar");
mFormat = nuevo menú ("Formato"); Menú(" Ayuda ");
//"Archivo"
miNew = New MenuItem(" Nuevo ");
miOpen = new MenuItem(" Abrir ");
miSave = new MenuItem(" Guardar ");
miSaveAs = new MenuItem("Guardar como");
mi Exit = nuevo MenuItem (" Salir ");
//"Editar"
miCut = new MenuItem(" Cortar ");
mi Copiar = new MenuItem(" Copiar ");
mi Pegar = new MenuItem(" Pegar ");
miDelete = new MenuItem(" Eliminar ");
//"Formato"
mi Font = new MenuItem(" Fuente ");
miLowtoCapital = new MenuItem(" Bajo a Capital ");
miCapitaltoLow = new MenuItem(" De capital a bajo ");
miEncrypt = new MenuItem(" Encrypt ");
midi sencrypt = new MenuItem(" discrypt ");
// "Ayuda"
miAboutNotepad = new MenuItem("Acerca del Bloc de notas");
//Agregar elemento de menú de archivo
mfile add(miNew);
p>
mfile . agregar(miOpen);
mfile . (miExit);
//Agregar elemento de menú de edición
medit add(miCut);
medit . p>medit . fuente);
m formato . add(miLowtoCapital);
m formato . add(miCapitaltoLow);
m formato . p>
m format . add(midi sencrypt);
//Agregar elemento del menú de ayuda
mhelp . Agregar menú a la barra de menú
MB .add(mFile);
MB . p>
MB .add(mformato);
MB .p>
MB .
p>
//El marco agrega barra de menú
mainframe .setmenubar(MB);
//La cadena inicial está vacía.
tempString =
//Agregar área de texto
mainFrame.add(ta, BorderLayout.center);
mainFrame.setSize( 800, 500);
mainframe . set location(100, 100); //Ubicación inicial
mainframe .
mainframe.set visible(true);
//Mainframe pack();
//////////// / /////////////////////////////////////////////////// // /////////////////////
///////////////////// ///// ////Agregar un monitor.
//////////////////////////////////////////// // ////////////////////////////////////////
/ /Marco principal
mainframe . addwindowlistener(newwindowadapter()){//Cerrar la ventana.
cierre de ventana vacía pública (evento de ventana e){
sistema de salida (0);
}
});
//Área de texto
ta . addkey oyente (nuevo adaptador de clave(){
Anulación pública escrita (KeyEvent e){
textValueChanged = true//Presionar una tecla del teclado hará que se modifique el texto
}
});
////////. / ///Menú "Archivo"://///////////////////////
//Nuevo
minew . addactionlistener(new action listener(){
acción de anulación pública realizada (evento de acción e){
ta.replaceRange(",0,ta.getText().length () ); //Borrar el contenido del área de texto
Nombre de archivo = " "; //El nombre del archivo está vacío
}
} );
//Abrir
miOpen.addActionListener(new ActionListener(){
Acción de anulación pública realizada (evento de acción e){
FileDialog d =new FileDialog(Mainframe, "Open File", FileDialog. Load); //Abre el cuadro de diálogo del archivo
d. addwindowlistener(newwindowadapter(){//Cierra la ventana de diálogo del archivo.
cierre de ventana vacía pública (evento de ventana ee){
sistema salida(0);
}
});
d . set visible(true);
Archivo f = nuevo archivo(d . get directorio()+d . getfile()); //Crea un nuevo archivo
fileName = d . get directorio()+d . getfile();//Obtener el nombre del archivo
char ch[]= new char[(int)f . // /Crea una matriz de caracteres con la longitud de este archivo.
Pruebe //Manejo de excepciones
{
//Lea los datos y guárdelos en la matriz de caracteres ch.
lector almacenado en búfer bw = nuevo lector almacenado en búfer(nuevo lector de archivos(f));
bw .read(ch close();
}
catch(excepción de archivo no encontrado Fe){
System.out.println("Archivo no encontrado");
sistema .exit(0);
}
catch(IOException es decir){
System.out.println("Error IO"); p>
system .exit(0);
}
String s = nueva cadena (ch);
ta.setText// Establece el área de texto al contenido del archivo abierto.
}
});
//Guardar
miSave.addActionListener(new ActionListener(){
acción de anulación pública realizada (evento de acción e){
If(filename .quals(" "){//Si el archivo no se ha guardado, el nombre del archivo está vacío.
FileDialog d=new FileDialog(Mainframe, "Save File", FileDialog. Save); //Guardar cuadro de diálogo del archivo
d .
cierre de ventana vacía pública (evento de ventana ee){
sistema salida(0);
}
});
d . set visible(true);
string s = ta . //Obtener contenido de texto de entrada
Probar //Manejo de excepciones p>
{
Archivo f = new File(d . get directorio()+d . getfile());//Crear un nuevo archivo
fileName = d . get directorio()+d . getfile();//Obtener el nombre del archivo
escritor en búfer bw = nuevo escritor en búfer (nuevo archivo escritor(f));//Ingrese el archivo
bw .write(s, 0, s . length());
bw close();
}
catch(archivo no encontrado). excepción Fe _ ){
System.out.println("Archivo no encontrado");
system exit(0);
}
Catch (IOException es decir_)
{
System.out.println(" Error de IO");
system exit(0);
p>}
}
De lo contrario //Si el archivo se ha guardado.
{
string s = ta . gettext(); //Obtener el contenido del texto de entrada
Probar //Manejo de excepciones
{
Archivo f = nuevo archivo (nombre de archivo); //Crear nuevo archivo
escritor almacenado en búfer bw = nuevo escritor almacenado en búfer (nuevo archivo escritor(f));
bw.write(s, 0, s. longitud());
bw close();
}
catch (excepción de archivo no encontrado Fe _){
System.out.println("Archivo no encontrado");
system exit(0);
}
Catch (IOException es decir_)
{
System.out.println(" Error de IO");
system . salir(0);
}
}
}
});
//Guardar como
misaveas . addactionlistener(new action listener(){
acción de anulación pública realizada (evento de acción e){
FileDialog d=new FileDialog(mainframe, " Guardar archivo", FileDialog. Save); //Cuadro de diálogo Guardar archivo
d. addwindowlistener(newwindowadapter(){//Cerrar la ventana de diálogo del archivo.
cierre de ventana vacía pública (evento de ventana ee){
sistema salida(0);
}
});
d . set visible(true);
string s = ta . //Obtener contenido de texto de entrada
Probar //Manejo de excepciones p>
{
Archivo f = new File(d . get directorio()+d . getfile());//Crear un nuevo archivo
escritor en búfer bw = nuevo escritor almacenado en búfer (nuevo archivo escritor (f)); //Ingrese el archivo
bw.write(s, 0, s. length());
bw.
}
catch(excepción de archivo no encontrado Fe _){
System.out.println("Archivo no encontrado");
system . exit(0);
}
Catch (IOException es decir_)
{
System.out. println ("Error de E/S");
sistema salida(0);
}
}
}); p >
//Salir
mi salida. addactionlistener(new action listener(){///Salir del programa.
acción de anulación pública realizada (evento de acción e){ p>
sistema .exit(0);
}
});
/////////// // Menú "Editar"://///////////////////////
//Cortar
micut addactionlistener (new action listener(){
acción nula pública realizada (evento de acción e){
tempString = ta. getselectedtext(); ///Obtener el contenido a copiar. y almacenarlo temporalmente en tempString.
string buffer tmp = new string buffer(ta . gettext()); //Almacenar texto temporalmente
int start = ta getselectionstart(); eliminado La posición inicial de la cadena.
int len=ta.getSelectedText(). Longitud(); //Obtiene la longitud de la cadena que se va a eliminar.
tmp.delete(start, start+len); ///Eliminar la cadena seleccionada
ta . settext(tmp . tostring()); texto
}
});
//Copiar
miCopy.addActionListener(new ActionListener(){ p>
acción nula pública realizada (evento de acción e){
tempString = ta . getselectedtext() /// Obtener el contenido a copiar y almacenarlo temporalmente en tempString
}
});
//Pegar
miPaste.addActionListener(new ActionListener(){
acción de anulación pública realizada (acción evento e){
string buffer tmp = new string buffer(ta . gettext()); //Almacenar texto temporalmente
int start = ta getselectionstart();/ /Obtener. la ubicación para pegar.
tmp.insert(start, tempString); //Ingresa el contenido que se va a pegar. /Establecer texto original con texto nuevo
}
});
//Eliminar
miDelete.addActionListener(new ActionListener() {
Acción de anulación pública realizada (evento de acción e){
búfer de cadena tmp = nuevo búfer de cadena (ta . gettext()); //Almacenar texto temporalmente
int start = ta .getselectionstart(); //Obtiene la posición inicial de la cadena a eliminar
int len = ta.getSelectedText(); La longitud de la cadena.
tmp.delete(start, start+len); /// Elimina la cadena seleccionada
ta . //Establecer texto original con texto nuevo
}
});
/////////////Menú "Formato" ://////////////////////////////////////
//Fuente p>
miFont.addActionListener(new ActionListener(){
acción de anulación pública realizada (evento de acción e){
diálogo final d = new Dialog(host, "Fuente" );//Nuevo cuadro de diálogo
d.setLocation(250,250);//Posición inicial
d. set layout(new BorderLayout());//Diseño de tabla
//////////////Panel superior.
Etiqueta l _ font = new Label(" font "); //Etiqueta de fuente
Panel p _ 1 = new Panel()
p _ 1. add(l_font);
p_1. set visible(true);
Algunos paneles en ///////////// .
Lista font_list = new List (6, false); //Lista de fuentes
//Agregar elemento de fuente
font _ list add(" Plain ". ); ///Fuente normal
fuente _ list . Cursiva
font _ list . additem listener(new myitem listener _ font()); //Fuente agregar monitor
Panel p2 = new Panel();
p_2. add(font_list);
p_2. set visible(true);
///////////// //Panel inferior.
Botón ok = nuevo botón ("OK");
ok.addActionListener(new ActionListener(){
acción de anulación pública realizada (evento de acción e) {
d . disponer();
}
});
ok.setSize(nueva dimensión (20, 5) );
Panel P3 = new Panel(); //Panel inferior
p_3.add(ok);
p_3.
//Agregar tres paneles
d.add(p_1, BorderLayout. North);
d.add(p_2, BorderLayout. North); ;
d.add(p_3, BorderLayout. South);
d.pack();
d.addwindowlistener(newwindowadapter(){/ /Cerrar la ventana de diálogo.
cierre de ventana vacía pública (evento de ventana ee){
d
}
} );
d . set visible(true);
}
});
//Convierte letras minúsculas en mayúsculas.
milowtocapital . addactionlistener(new ActionListener(){
acción de anulación pública realizada (evento de acción e){
cadena s = ta . gettext( ); / /Obtener el contenido del texto de entrada
temp del buffer de cadena = new string buffer(" ");
for(int I = 0; i<s.length().
i++){
if((int)s.charAt(i)>= 97 & amp& amp(int)s . charat(I)& lt;=122 ){
temp . append((char)((int)s . charat(I)-32));
}
Otros
temp.append(s .charAt(i)).
}
s = nueva cadena (temp);
ta.setText
}
} ) ;
//Convierte letras mayúsculas a minúsculas
micapitaltolow . addactionlistener(new action listener(){
acción pública nula realizada (evento de acción e) {
string s = ta . gettext(); //Obtener el contenido del texto de entrada
string buffer temp = new string buffer(" ");
for (int I = 0;i<s.length().i++){
if((int)s.charAt(i)>= 65 & amp& amp(int)s .charat(I) < =90){
temp . append((char)((int)s . charat(I)+32));
}
Otro
temp.append(s.charAt(i))
}
s = nueva cadena(temp);
ta.setText
}
});
//Cifrado
miencrypt . addactionlistener(nueva acción oyente(){
acción nula pública realizada (evento de acción e){
string s = ta . gettext() //Obtener el contenido del texto de entrada
temp del búfer de cadena = nuevo búfer de cadena( " ");
for(int I = 0; i<s.length().i++){
if(s.charAt(i)>= 40 & amp& amps .charat (I)<=125){
if(i%2==0){
temp .append((char)(s . charat(I)+1) );
}
Otros
temp ;append((char)(s . charat(I)-1)) ;
}
Otros
temp.append(s.charAt(i)).
}
s = nueva cadena (temp);
ta.setText
}
} ) ;
//Decryption
miDisencrypt.addActionListener(new ActionListener(){
acción de anulación pública realizada (evento de acción e){
string s = ta . gettext(); //Obtener el contenido del texto de entrada
string buffer temp = new string buffer(" ");
for(int I = 0; i<s.length().i++){
if(s.charAt(i)>= 40 &&s.charat(I)<=125){
if(i% 2==0){
temp . append((char)(s . charat(I)-1));
}
Otros p>
temp . append((char)(s . charat(I)+1));
}
Otros
temp.append (s.charAt(i)).
}
s = nueva cadena (temp
ta.setText
p>}
});
////////////Menú "Ayuda":////////// //// ///////////////
//Acerca del Bloc de notas
miaboutnotepad . addactionlistener(new ActionListener(){
public. acción anulada realizada (evento de acción e){
Diálogo final d = nuevo diálogo(host, "Acerca del Bloc de notas" //Nuevo cuadro de diálogo
TextArea t = new TextArea(" \ nBienvenido al Bloc de notas"+" \ n \ n "+" Copyright @ Lanzamiento "+" \ n \ n "+"Software gratuito"+" \ n \ n "+" v 0.99 "); //Agregar etiqueta p>
t.setSize(nueva dimensión (5, 5));
t set editable(false);
d .setresizable(false); resizable
d .add(t);
d .pack();
d .addwindowlistener(newwindowadapter (){//Cerrar la ventana de diálogo.
cierre de ventana nula pública (evento de ventana ee){
d .dispose();
}
}); p>
p>
d.setLocation(100,250);//Posición inicial
d.set visible(true);
}
}
Classmyitemlistener _implement itemlistener {//font listener
public void itemStateChanged(evento de elemento e){
id _ fuente = ((Java. awt. lista)e. getsource()). getSelectedIndex();
switch(id_font){
Caso 0:{
ta.setFont(nueva fuente("Times New Roman", font.PLAIN , ta.getFont().getSize())); //Texto sin formato
Break;
}
Caso 1:{
ta.setFont(newFont("Times New Roman", font.BOLD, ta.getFont().getSize())); // texto en negrita
Break;
}
Caso 2: {
ta.setFont(new font("Times New Roman", font.ITALIC, ta.getFont().getSize())); Texto en cursiva
Salto;
}
}
}
}
/////////////////////////////////////////////////// / ///////////////////////-Función principal.
Public static void main(String arg[]){
Prueba del Bloc de notas = new Notepad() ///Crear Bloc de notas
}
//////////////////////////////////////////////// /////////////////////////////////////////////////// //// ////
}