Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse. - Julio 04, 2008, 09:28:18
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Java - Java Script  |  Tema: Bloc de Notas en Java 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Bloc de Notas en Java  (Leído 118 veces)
rpm
Recien Llegado
*
Desconectado Desconectado

Mensajes: 1


Ver Perfil
« en: Diciembre 17, 2007, 02:16:03 »

Ola que tal.. soy nuevo en el foro y nuevo en la OOP con Java  Smiley
De echo este es mi primer "programilla" que quiero hacer andar... lo que tengo armado es lo siguiente:
Código:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;

public class BlocNotas extends JFrame {
     /* Creo todos los objetos que voy a necesitar para visualizar mi Editor de Textos */
   
     BorderLayout borderLayout1 = new BorderLayout();
     JPanel panel = new JPanel();
     JMenuBar barraDeMenu = new JMenuBar();
     JMenu archivo = new JMenu();
     JMenu editar = new JMenu();
     JMenu ver = new JMenu();
     JMenu buscar = new JMenu();
     JMenu ayuda = new JMenu();
     JTextArea areaDeTexto = new JTextArea();
     JScrollPane scrollPane = new JScrollPane();
     JFileChooser jfc = new JFileChooser();
   
     /* Creo todos los SubMenus para cada Elemento(Opcion) de la barraDeMenu */
   
     JMenuItem archivo_Nuevo = new JMenuItem();
     JMenuItem archivo_Abrir = new JMenuItem();
     JMenuItem archivo_Guardar = new JMenuItem();
     JMenuItem archivo_GuardarComo = new JMenuItem();
     JMenuItem archivo_Cerrar = new JMenuItem();
     JMenuItem archivo_Salir = new JMenuItem();
     JMenuItem editar_Deshacer = new JMenuItem();
     JMenuItem editar_Rehacer = new JMenuItem();
     JMenuItem editar_Cortar = new JMenuItem();
     JMenuItem editar_Copiar = new JMenuItem();
     JMenuItem editar_Pegar = new JMenuItem();
     JMenuItem editar_Borrar = new JMenuItem();
     JMenuItem editar_Preferencias = new JMenuItem();
     JCheckBoxMenuItem ver_barraHerramientas = new JCheckBoxMenuItem();
     JCheckBoxMenuItem ver_barraDeEstado = new JCheckBoxMenuItem();
     JMenuItem buscar_Buscar = new JMenuItem();
     JMenuItem buscar_Siguiente = new JMenuItem();
     JMenuItem buscar_Anterior = new JMenuItem();
     JMenuItem buscar_Ir_A_Linea = new JMenuItem();
     JMenuItem ayuda_Contenido = new JMenuItem();
     JMenuItem ayuda_acercaDe = new JMenuItem();
   
     /* Constructor donde establesco todas las caracteristicas del Editor de Texto */
     public BlocNotas() {
     panel.setLayout(borderLayout1);
     super.setTitle("Editor de Texto credo por Ramiro");
         /* Establesco el Texto de cada elemento del Menu */
     archivo.setText("Archivo");
     archivo.setMnemonic('A');
     archivo_Nuevo.setText("Nuevo");
     archivo_Abrir.setText("Abrir");
     archivo_Guardar.setText("Guardar");
     archivo_GuardarComo.setText("Guardar como...");
     archivo_Cerrar.setText("Cerrar");
     archivo_Salir.setText("Salir");
     editar.setText("Editar");
     editar.setMnemonic('E');
     editar_Deshacer.setText("Deshacer");
     editar_Rehacer.setText("Rehacer");
     editar_Cortar.setText("Cortar");
     editar_Copiar.setText("Copiar");
     editar_Pegar.setText("Pegar");
     editar_Borrar.setText("Borrar");
     editar_Preferencias.setText("Preferencias");
     ver.setText("Ver");
     ver.setMnemonic('V');
     ver_barraHerramientas.setText("Barra de Herramientas");
     ver_barraDeEstado.setText("Barra de Estado");
     buscar.setText("Buscar");
     buscar.setMnemonic('B');
     buscar_Buscar.setText("Buscar");
     buscar_Siguiente.setText("Buscar siguiente..");
     buscar_Anterior.setText("Buscar Anterior..");
     buscar_Ir_A_Linea.setText("Ir a Linea..");
     ayuda.setText("Ayuda");
     ayuda.setMnemonic('U');
     ayuda_Contenido.setText("Contenido");
     ayuda_acercaDe.setText("Acerca de");
         /* Deshabilito las opciones de Buscar como estado incial
          * ya que en ningun momento se inicio una busqueda
          */
     buscar_Siguiente.setEnabled(false);
     buscar_Anterior.setEnabled(false);
         /* Deshabilito las opciones de Editar como estado inicial
          * ya que en ningun momento se edito el archivo
          */
     editar_Deshacer.setEnabled(false);
     editar_Rehacer.setEnabled(false);
     editar_Cortar.setEnabled(false);
     editar_Copiar.setEnabled(false);
     editar_Pegar.setEnabled(false);
     editar_Borrar.setEnabled(false);
         /* Habilito las opciones de Ver ya que al inicio de todo
          * editor se muestra la barra de Estado y de Herramientas
          */
     ver_barraHerramientas.setSelected(true);
     ver_barraDeEstado.setSelected(true);
         /* Agrego todas las opciones a la barra de Menu */
     barraDeMenu.add(archivo);
     barraDeMenu.add(editar);
     barraDeMenu.add(ver);
     barraDeMenu.add(buscar);
     barraDeMenu.add(ayuda);
         /* Agrego a las opciones los items correspondientes */
     archivo.add(archivo_Nuevo);
     archivo.add(archivo_Abrir);
     archivo.add(archivo_Guardar);
     archivo.add(archivo_GuardarComo);
     archivo.add(archivo_Cerrar);
     archivo.add(archivo_Salir);
     editar.add(editar_Deshacer);
     editar.add(editar_Rehacer);
     editar.add(editar_Cortar);
     editar.add(editar_Copiar);
     editar.add(editar_Pegar);
     editar.add(editar_Borrar);
     editar.add(editar_Preferencias);
     ver.add(ver_barraHerramientas);
     ver.add(ver_barraDeEstado);
     buscar.add(buscar_Buscar);
     buscar.add(buscar_Siguiente);
     buscar.add(buscar_Anterior);
     buscar.add(buscar_Ir_A_Linea);
     ayuda.add(ayuda_Contenido);
     ayuda.add(ayuda_acercaDe);
         /* Una vez armado el Menu lo agrego al Frame */
     this.setJMenuBar(barraDeMenu);
     this.getContentPane().add(panel, BorderLayout.CENTER);
     this.getContentPane().setPreferredSize(new Dimension(500,400));
     this.getContentPane().add(scrollPane, BorderLayout.CENTER);
     scrollPane.getViewport().add(areaDeTexto, null);
         /* Eventos de Todos los Elementos del Menu */
     // archivo_Nuevo = Creo un Nuevo Archivo
     archivo_Nuevo.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             areaDeTexto.setText("");
         }
     });
     // archivo_Abrir =  Abro un Archivo con FileChooser + Stream
     archivo_Abrir.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             if(e.getSource() == archivo_Abrir) {
                 int abroArchivo = jfc.showOpenDialog(BlocNotas.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 = Guardo el documento que estoy editando
     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 = Guardo mediante el Documento Abierto por el FileChooser + Stream.
     archivo_GuardarComo.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             if(e.getSource() == archivo_GuardarComo) {
                 int guardoArchivo = jfc.showSaveDialog(BlocNotas.this);
               
                 if(guardoArchivo == jfc.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_Cerrar = Cierro el JTextArea
     archivo_Cerrar.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
                 panel.removeAll();
                 borderLayout1.removeLayoutComponent(areaDeTexto);
         }
     });
     // archivo_Salir = Salgo del Editor de Texto
     archivo_Salir.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             System.exit(0);
         }
     });
     // editar_Cortar = Corta el texto seleccionado y lo guarda en el clipboard
     editar_Cortar.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
                 if(e.getSource() == editar_Cortar) {
                     areaDeTexto.cut();
                 }
         }
     });
     // buscar_Buscar = Busco String que ingreso
     buscar_Buscar.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             JOptionPane.
         }
     });
     // ayuda_AcercaDe mi <??>
     ayuda_acercaDe.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             String texto = "Este es mi primer programa que decidi hacer porque supuse conveniente \n para poner en practica todos 'mis conocimientos' adquiridos luego de leer el book User - Java";
             JOptionPane.showMessageDialog(new JFrame(), texto, "Acerca de Rami Editor", JOptionPane.INFORMATION_MESSAGE);
         }
     });
         /* Empaqueto y muestro el Panel con su contenido */
     super.pack();
     super.show();
     }
     public static void main(String argv[]) {
         new BlocNotas();
     }
   
   
}
tengo dudas con respecto a los eventos de los siguientes Items del Menu..
El Cerrar.. nose que tipo de metodos existen para la fucion JTextArea, pero lo que necesito es que al clickear cerrar desaparesca el JTextArea.. como cualquier bloc de notas.. Se que JTextArea hereda de JComponent.. y esta el atributo de JComponent.closeable();.. pero no se si puede ser con eso..
Otra duda es con los botones de editar.. con su generalidad.. el tema es el siguiente, los botones puedo programarlos, pero nose como indicarle al programa Cuando un texto fue seleccionado.., despues de eso estan los atributos de JTextArea de .copy(), .cut(), etc..

Bueno es solo eso.. tambien que me digan si el programa esta proligo, si le faltan ocsas y eso.. y cualquier correcion es de suma bienvenida..

Muchas gracias por todo =)..
En línea
[p3ll3]
Colaborador
*****
Desconectado Desconectado

Mensajes: 523

Read The Fucking Manual && STFU xDDD


Ver Perfil WWW
« Respuesta #1 en: Diciembre 22, 2007, 09:16:00 »

Men esta bastante  bueno   Shocked, tienes que agregarle al form, por asi decirlo la funcion exit_on_close porque cuando me salgo presionando la X del bloc de notas el programa sigue corriendo.

Pista:     aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );        xD

Y para lo de cerrar tienes que poner esto:

     // archivo_Cerrar = Cierro el JTextArea
     archivo_Cerrar.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
                 areaDeTexto.setVisible(false);
         }
     });
 
Creo que para seleccionar texto debes hacer lo siguiente:

  variable String = areaDeTexto.getSelectedText();



Bueno la parte importante es lo que esta en negrita.  Wink

Espero te haya servido la ayuda , y cuando tengas terminado el bloc me lo pasas  Cool
 
Saludo2
« Última modificación: Diciembre 22, 2007, 09:59:26 por [p3ll3] » En línea



Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Java - Java Script  |  Tema: Bloc de Notas en Java « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC