¡Huola!
Día viernes súper piola... a ver:
1) Me dieron tarea en Programación Orientada a Objetos (para los amigos: POO). Tengo que hacer un editor de texto y no ta nada de fácil, ¡pero no imposible!. El plazo de entrega es para el viernes 11 de noviembre. Hasta el momento llevo algo así:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* DText Editor v0.1
* Este es mi primer programa
* Es un Editor de Texto!
* @author David Morales Martínez
* @version 0.1
*/
public class EditorDeTexto implements ActionListener
{
private JFrame marco;
private JButton botonGuardar;
private JButton botonAbrir;
private JButton botonNuevo;
private JTextArea areaEscritura;
public EditorDeTexto()
{
armarVentana();
}
private void armarVentana()
{
marco = new JFrame("DText Editor v0.1");
Container contenido = marco.getContentPane();
LayoutManager administradorEspacio = new BorderLayout();
contenido.setLayout(administradorEspacio);
// Sector Norte
JPanel panelNorte = new JPanel();
LayoutManager adminEspacioNorte = new BorderLayout();
panelNorte.setLayout(adminEspacioNorte);
JPanel panelNorEste = new JPanel();
LayoutManager adminEspacioNorEste = new FlowLayout();
panelNorEste.setLayout (adminEspacioNorEste);
botonGuardar = new JButton("Guardar");
botonGuardar.addActionListener(this);
panelNorEste.add(botonGuardar);
botonAbrir = new JButton("Abrir");
botonAbrir.addActionListener(this);
panelNorEste.add(botonAbrir);
botonNuevo = new JButton("Nuevo");
botonNuevo.addActionListener(this);
panelNorEste.add(botonNuevo);
panelNorte.add (panelNorEste, BorderLayout.WEST);
contenido.add (panelNorte, BorderLayout.NORTH);
// Sector Centro
JPanel panelCentro = new JPanel();
LayoutManager adminEspacioCentro = new BorderLayout();
panelCentro.setLayout (adminEspacioCentro);
areaEscritura = new JTextArea(20, 60);
panelCentro.add(areaEscritura, BorderLayout.CENTER);
contenido.add (panelCentro, BorderLayout.CENTER);
// llamamos a armarMenu
armarMenu();
marco.pack();
marco.setVisible(true);
}
private void armarMenu()
{
JMenuBar barra = new JMenuBar(); // creo la barra
JMenu archivo = new JMenu("Archivo"); // creo menu archivo
JMenu ayuda = new JMenu("Ayuda"); // creo menu ayuda
JMenuItem abrir = new JMenuItem("Abrir"); // creo un JMenuItem
abrir.addActionListener(this); // Objeto this: representa a la ventana completa.
// Se encarga de recepcionar los eventos
archivo.add(abrir);
JMenuItem salir = new JMenuItem("Salir");
salir.addActionListener(this);
archivo.add(salir);
JMenuItem acerca = new JMenuItem("Acerca de...");
acerca.addActionListener(this);
ayuda.add(acerca);
barra.add(archivo);
barra.add(ayuda);
marco.setJMenuBar(barra); // al marco completo se le asocia la barra de menu
}
public void actionPerformed(ActionEvent evento)
{
String comando = evento.getActionCommand();
if (comando.equals("Salir"))
{
int opcion = JOptionPane.showConfirmDialog(marco, "¿Desea cerrar DText Editor?");
if(opcion == JOptionPane.YES_OPTION)
{
System.exit(0);
}
}
else
{
JOptionPane.showMessageDialog(marco, "Presionaste el " + comando + "\n" +
"Esta funcion aun no existe",
"Este es el titulo!!!",
JOptionPane.DEFAULT_OPTION);
}
}
}
y lo que en GUI (Interfaz Gráfica de Usuario) sería:

** Esto sería lo básico... **
(pulsar sobre imagen para agrandar)

** Aquí viendo si se ejecuta la función del botón "Salir" del menú Archivo **
(pulsar sobre la imagen para agrandar)
Ahora me queda programar el funcionamiento normal de mi programa y también darle las órdenes en caso de que haya error (aplicando try y catch respectivamente), darle las funciones a los JMenuItem de los menús Archivo y Ayuda y a los botones que aparecen ahí: Guardar, Abrir y Nuevo. Cosa más latosa y compleja pero que se hará después. Ya cuando esté listo volveré a subir más capturas de pantalla ;-D
2) Con mi banda no ensayamos... me da una soberana lata entrar a detallar los motivos. Pero no son brigidos xD ni tampoco comprometen la estabilidad de la banda...fue por culpa de terceros.
3) Estoy súper agotado y con síntomas de Programador Compulsivo jaja. Mmm es que si no me pongo a programar apenas se me ocurren las cosas como serían, luego lo olvido y prefiero ir probando al tiro y así también aprendo y no lo olvido =)
Bueno, ahora los agradecimientos (aplicando lo que se llama la: "Dinámica del Protocolo") jajaja...
Agradezco a "Los Incondicionales"... por haberme preguntado que onda de la decisión de migrar de ****log a Blog. A los que dejaron una estampa en este espacio, espero que lo sigan haciendo jajaja xP
Espero verte mañana Popola... que mejore su salud, te extraño mucho. Saluditos especiales, muchos besos y abrazos para ti =D
Bueno me despido... thanks a lot!
posteen con cariño...
¡chau!

