comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Java] Contador de Lineas

  • 2 Respuestas
  • 1560 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 60
  • Actividad:
    1.67%
  • Reputación 0
  • |Un día sin aprender nada, es un día perdido..|
    • Ver Perfil
    • Email
« en: Octubre 16, 2014, 05:44:44 pm »
Hola gente les traigo un programita que estuve haciendo es muy simple pero espero que les pueda servir a aquellos programadores que les gusta saber la cantidad de lineas que tiene sus programas :P

  • Estructura del programa:
       
  • Creamos la Ventana (nombre: Aplicacion)
Código: Java
  1. package aplicacion;
  2.  
  3. import java.awt.BorderLayout;
  4.  
  5. public class Aplicacion extends You are not allowed to view links. Register or Login {
  6.  
  7.         /*
  8.          * Creamos nuestra GUI donde veremos todos los elementos visuales
  9.          *
  10.          */
  11.         private You are not allowed to view links. Register or Login barra;
  12.         private You are not allowed to view links. Register or Login menu;
  13.         public You are not allowed to view links. Register or Login menuItem;
  14.         private You are not allowed to view links. Register or Login scrollPane;
  15.         private You are not allowed to view links. Register or Login panelCentral;
  16.         public You are not allowed to view links. Register or Login area;
  17.         private int lineas;
  18.         public You are not allowed to view links. Register or Login labelContador;
  19.         private You are not allowed to view links. Register or Login panelInferior;
  20.         private You are not allowed to view links. Register or Login texto;
  21.         private You are not allowed to view links. Register or Login menuFormato;
  22.         private You are not allowed to view links. Register or Login menuFuente;
  23.         private You are not allowed to view links. Register or Login menuTamanio;
  24.         private You are not allowed to view links. Register or Login menuColor;
  25.         public You are not allowed to view links. Register or Login paletaDeColores;
  26.         public You are not allowed to view links. Register or Login tamanio2;
  27.         public You are not allowed to view links. Register or Login tamanio1;
  28.         public You are not allowed to view links. Register or Login fuente1;
  29.         public You are not allowed to view links. Register or Login fuente2;
  30.         public You are not allowed to view links. Register or Login fuente3;
  31.  
  32.  
  33.         public Aplicacion() {
  34.  
  35.                 /*
  36.                  * En el constructos inicializamos los paneles y la configuracion de la ventana
  37.                  */
  38.                 iniciarPanelInferior();
  39.                 iniciarPanelCentral();
  40.                 iniciarMenu();
  41.                 iniciarGUI();
  42.         }
  43.  
  44.         private void iniciarPanelInferior() {
  45.  
  46.                 /*
  47.                  * Creamos nuestro PanelInferior y lo añadimos a la parte SUR de la Ventana
  48.                  */
  49.                 panelInferior = new You are not allowed to view links. Register or Login();
  50.                 labelContador = new You are not allowed to view links. Register or Login(" ");
  51.                 labelContador.setFont(new You are not allowed to view links. Register or Login("Arial Unicode MS", You are not allowed to view links. Register or Login.BOLD, 18));
  52.                 panelInferior.add(labelContador);
  53.                 getContentPane().add(panelInferior, You are not allowed to view links. Register or Login.SOUTH);
  54.  
  55.         }
  56.  
  57.         private void iniciarMenu() {
  58.  
  59.                 /*
  60.                  * Iniciamos nuestro menu que luego llevara a cabo los eventos del usuario
  61.                  */
  62.                 barra = new You are not allowed to view links. Register or Login();
  63.                 menu = new You are not allowed to view links. Register or Login("Opciones");
  64.                 menuFormato = new You are not allowed to view links. Register or Login("Formato");
  65.  
  66.                 menuItem = new You are not allowed to view links. Register or Login("Abrir Archivo");
  67.  
  68.                 menu.add(menuItem);
  69.                 menu.add(menuFormato);
  70.  
  71.                 menuColor = new You are not allowed to view links. Register or Login("Color");
  72.                 menuFormato.add(menuColor);
  73.  
  74.                 paletaDeColores = new You are not allowed to view links. Register or Login("Abrir Paleta de colores");
  75.                 menuColor.add(paletaDeColores);
  76.  
  77.                 menuTamanio = new You are not allowed to view links. Register or Login("Tama\u00F1o");
  78.                 menuFormato.add(menuTamanio);
  79.  
  80.                 tamanio1 = new You are not allowed to view links. Register or Login("18");
  81.                 menuTamanio.add(tamanio1);
  82.  
  83.                 tamanio2 = new You are not allowed to view links. Register or Login("20");
  84.                 menuTamanio.add(tamanio2);
  85.  
  86.                 menuFuente = new You are not allowed to view links. Register or Login("Fuente");
  87.                 menuFormato.add(menuFuente);
  88.  
  89.                 fuente3 = new You are not allowed to view links. Register or Login("MonoSpaced");
  90.                 menuFuente.add(fuente3);
  91.  
  92.                 fuente2 = new You are not allowed to view links. Register or Login("Times New Roman");
  93.                 menuFuente.add(fuente2);
  94.  
  95.                 fuente1 = new You are not allowed to view links. Register or Login("Arial");
  96.  
  97.                 menuFuente.add(fuente1);
  98.                 barra.add(menu);
  99.                 setJMenuBar(barra); //Agregamos la barra con los menues a la ventana
  100.  
  101.         }
  102.  
  103.         private void iniciarPanelCentral() {
  104. /*
  105.  * Iniciamos el panelCentral de la aplicacion donde tendremos el texto a contar
  106.  */
  107.                 area = new You are not allowed to view links. Register or Login();
  108.                 area.setFont(new You are not allowed to view links. Register or Login("Monospaced", You are not allowed to view links. Register or Login.PLAIN, 15));
  109.                 scrollPane = new You are not allowed to view links. Register or Login(area);
  110.                 scrollPane.setViewportView(area);
  111.  
  112.                 scrollPane
  113.                                 .setVerticalScrollBarPolicy(You are not allowed to view links. Register or Login.VERTICAL_SCROLLBAR_ALWAYS);
  114.                 getContentPane().add(scrollPane, You are not allowed to view links. Register or Login.CENTER);
  115.  
  116.         }
  117.  
  118.         private void iniciarGUI() {
  119. /*
  120.  * Configuramos las caracteristicas de la ventana (tamaño,titulo,visibilidad,eje de vista)
  121.  */
  122.                 setSize(595, 426);
  123.                 setTitle("Contador de Lineas");
  124.                 setLocationRelativeTo(null);
  125.                 setVisible(true);
  126.  
  127.         }
  128.  
  129. }
  130.  

  • Creamos el Controlador (nombre: Controlador)
Código: Java
  1.  
  2. package controlador;
  3.  
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6.  
  7. import modelo.Modelo;
  8. import aplicacion.Aplicacion;
  9.  
  10. public class Controlador implements You are not allowed to view links. Register or Login {
  11. /*
  12.  * Creamos Nuestro controlador que comunicara todos los eventos con el modelo
  13.  */
  14.         private int tam = 16;
  15.         private Modelo modelo;
  16.         private Aplicacion aplicacion;
  17.  
  18.         public Controlador(Aplicacion _ap, Modelo _modelo) {
  19.  
  20.         //Recibimos y seteamos el modelo y la aplicacion       
  21.                 this.modelo = _modelo;
  22.                 this.aplicacion = _ap;
  23.                 agregarEventos();
  24.         }
  25.  
  26.         private void agregarEventos() {
  27.  
  28.                 /*
  29.                  * Agregamos los eventos de la ventana y le inidicamos que este objeto sera su manejador
  30.                  */
  31.                 this.aplicacion.menuItem.addActionListener(this);
  32.                 this.aplicacion.menuItem.setActionCommand("abrirArchivo");
  33.                 this.aplicacion.paletaDeColores.addActionListener(this);
  34.                 this.aplicacion.paletaDeColores.setActionCommand("paletaDeColores");
  35.                 this.aplicacion.tamanio1.addActionListener(this);
  36.                 this.aplicacion.tamanio1.setActionCommand("tam1");
  37.                 this.aplicacion.tamanio2.addActionListener(this);
  38.                 this.aplicacion.tamanio2.setActionCommand("tam2");
  39.                 this.aplicacion.fuente1.addActionListener(this);
  40.                 this.aplicacion.fuente1.setActionCommand("fuente1");
  41.                 this.aplicacion.fuente2.addActionListener(this);
  42.                 this.aplicacion.fuente2.setActionCommand("fuente2");
  43.                 this.aplicacion.fuente3.addActionListener(this);
  44.                 this.aplicacion.fuente3.setActionCommand("fuente3");
  45.  
  46.         }
  47.  
  48.         @Override
  49.         public void actionPerformed(You are not allowed to view links. Register or Login evento) {
  50.  
  51.                 /*
  52.                  * Segun el evento ejecutamos la accion pertinente
  53.                  */
  54.                 switch (evento.getActionCommand()) {
  55.  
  56.                 case "abrirArchivo":
  57.                         this.modelo.abrirArchivo();
  58.                         this.aplicacion.area.setText(this.modelo.texto);
  59.                         this.aplicacion.labelContador.setText("Total de lineas ="+ this.modelo.getLineas());
  60.                         break;
  61.  
  62.                 case "paletaDeColores":
  63.  
  64.                         this.aplicacion.area.setForeground(this.modelo.cambiarColor());
  65.                         break;
  66.  
  67.                 case "tam1":
  68.  
  69.                         this.aplicacion.area.setFont(this.modelo.nuevaFuente(
  70.                                         this.aplicacion.area.getFont().toString(), 18));
  71.  
  72.                         tam = 18;
  73.                         break;
  74.  
  75.                 case "tam2":
  76.  
  77.                         this.aplicacion.area.setFont(this.modelo.nuevaFuente(
  78.                                         this.aplicacion.area.getFont().toString(), 20));
  79.  
  80.                         tam = 20;
  81.                         break;
  82.  
  83.                 case "fuente1":
  84.                         this.aplicacion.area.setFont(this.modelo.nuevaFuente("Arial",tam));
  85.                        
  86.                         break;
  87.  
  88.                 case "fuente2":
  89.                         this.aplicacion.area.setFont(this.modelo.nuevaFuente("Times New Roman", tam));
  90.                
  91.                         break;
  92.                 case "fuente3":
  93.                        
  94.                         this.aplicacion.area.setFont(this.modelo.nuevaFuente("Monospaced", tam));
  95.                         break;
  96.                 }
  97.  
  98.         }
  99.  
  100. }
  101.  
  102.  

  • Creamos el modelo (nombre: Modelo)
Código: Java
  1.  
  2. package modelo;
  3.  
  4. import java.awt.Color;
  5. import java.awt.Font;
  6. import java.io.*;
  7.  
  8. import javax.swing.JColorChooser;
  9. import javax.swing.JFileChooser;
  10. import javax.swing.JOptionPane;
  11.  
  12. public class Modelo {
  13.  
  14.         public You are not allowed to view links. Register or Login texto;
  15.         private int lineas;
  16.         private You are not allowed to view links. Register or Login color;
  17.         private You are not allowed to view links. Register or Login nuevaFuente;
  18.         private You are not allowed to view links. Register or Login fuente;
  19.  
  20.         public Modelo() {
  21.  
  22.         }
  23.  
  24.         public You are not allowed to view links. Register or Login cambiarColor(){ //Metodo que retorna un color seleccionado a partir de un componente modal ColorChooser
  25.                 You are not allowed to view links. Register or Login ventanaDeColores = new You are not allowed to view links. Register or Login();
  26.                 color = ventanaDeColores.showDialog(null,"Seleccione un Color", You are not allowed to view links. Register or Login.gray);
  27.             return color;
  28.                
  29.         }
  30.        
  31.         public You are not allowed to view links. Register or Login abrirArchivo() {
  32.                setLineas(0);
  33.                 You are not allowed to view links. Register or Login aux = "";
  34.                 texto = "";
  35.                 try {
  36.                         /** llamamos el metodo que permite cargar la ventana */
  37.                         You are not allowed to view links. Register or Login file = new You are not allowed to view links. Register or Login(); //creamos nuestro buscador de archivos
  38.                                                                                                        
  39.                         file.showOpenDialog(null);
  40.                         /** abrimos el archivo seleccionado */
  41.                         You are not allowed to view links. Register or Login abre = file.getSelectedFile(); // creamos un archivo que contendra el archivo seleccionado en el buscador
  42.  
  43.                         /**
  44.                          * recorremos el archivo, lo leemos para plasmarlo en el area de
  45.                          * texto y para  obtener el numero de lineas de codigo
  46.                          */
  47.                         if (abre != null) {
  48.                                 You are not allowed to view links. Register or Login archivos = new You are not allowed to view links. Register or Login(abre);
  49.                                 You are not allowed to view links. Register or Login lee = new You are not allowed to view links. Register or Login(archivos);
  50.                                 while ((aux = lee.readLine()) != null) {
  51.                                         texto += aux + "\n";
  52.                                         lineas++;
  53.                                         setLineas(lineas);
  54.                                 }
  55.                                 lee.close();
  56.                         }
  57.                 } catch (You are not allowed to view links. Register or Login ex) {
  58.                         You are not allowed to view links. Register or Login.showMessageDialog(null, ex + ""
  59.                                         + "\nNo se ha encontrado el archivo", "ADVERTENCIA!!!",
  60.                                         You are not allowed to view links. Register or Login.WARNING_MESSAGE);
  61.                 }
  62.                 return texto;// El texto se almacena en el JTextArea
  63.         }
  64.        
  65.        
  66.        
  67.        
  68.        
  69.         /*
  70.          * Setter y getters
  71.          */
  72.        
  73.         public int getLineas() {
  74.                 return lineas;
  75.         }
  76.  
  77.         public void setLineas(int lineas) {
  78.                 this.lineas = lineas;
  79.         }
  80.  
  81.         /*
  82.          * Metodo para cambiar la fuente de la aplicacion
  83.          *
  84.          */
  85.         public You are not allowed to view links. Register or Login nuevaFuente(You are not allowed to view links. Register or Login font, int tamanio) {
  86.  
  87.                 nuevaFuente = new You are not allowed to view links. Register or Login(font, You are not allowed to view links. Register or Login.PLAIN, tamanio);
  88.                 return nuevaFuente;
  89.         }
  90. }
  91.  
  92.  

  • Y finalmente creamos nuestro ejecutable (nombre: Main)
Código: Java
  1. package ejecutable;
  2.  
  3. import controlador.Controlador;
  4. import modelo.Modelo;
  5. import aplicacion.Aplicacion;
  6.  
  7. public class Main {
  8.  
  9.         public static void main(You are not allowed to view links. Register or Login[] args) {
  10.  
  11.                 Aplicacion aplicacion = new Aplicacion();
  12.                 Modelo modelo = new Modelo();
  13.  
  14.                 /*
  15.                  * Creamos y le pasamos como parametros al controlador la ventana y el modelo
  16.                  */
  17.                 new Controlador(aplicacion, modelo);
  18.  
  19.         }
  20.  
  21. }
  22.  
  23.  

 Funcionando..
                                   
« Última modificación: Octubre 16, 2014, 08:14:25 pm por Expermicid »
Ser mejor cada día es mi meta

 =LKI=

Desconectado Expermicid

  • *
  • Underc0der
  • Mensajes: 457
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
    • Ver Perfil
  • Skype: expermicid.xd
« Respuesta #1 en: Octubre 16, 2014, 09:00:53 pm »
Buenisimo LKI.
Es una muy buena practicar el patrón mvc.

Saludos

Desconectado OLM

  • *
  • Underc0der
  • Mensajes: 57
  • Actividad:
    0%
  • Reputación 0
  • No hay justicia si la guerra está justificada.
    • Ver Perfil
    • Hackpuntes
    • Email
  • Skype: jjavierolmedo
  • Twitter: @JJavierOlmedo
« Respuesta #2 en: Octubre 17, 2014, 03:48:22 pm »
Para los que estamos estudiando Java bastante interesante, codigo facilito, entendible y bien comentado.

Gracias.
Un Saludo.
Nunca consideres el estudio como una obligación, sino como una oportunidad para adentrarse en el maravilloso mundo del saber.

 

¿Te gustó el post? COMPARTILO!



[Video Curso] Iniciacion a Java por DesarrolloWeb y EscuelaIT Mayo 2014

Iniciado por graphixx

Respuestas: 3
Vistas: 1471
Último mensaje Febrero 23, 2015, 10:13:28 am
por Hu3c0
Java Extremo [Video Cursos Completos] [Español] [ISO] 2009

Iniciado por graphixx

Respuestas: 9
Vistas: 4384
Último mensaje Diciembre 04, 2017, 02:36:34 am
por graphixx
[LIBRO] Programación avanzada en Java - Sonia Jaramillo Valbuena

Iniciado por graphixx

Respuestas: 2
Vistas: 2627
Último mensaje Junio 01, 2018, 01:56:36 pm
por eervv
Como compilar programas Java en la consola de comandos de Windows

Iniciado por tar3kw0rm3d

Respuestas: 2
Vistas: 2169
Último mensaje Junio 04, 2013, 02:55:07 pm
por tar3kw0rm3d
[Java] Chat utilizando WebSockets con JavaEE y JavaFx

Iniciado por coke951

Respuestas: 3
Vistas: 2812
Último mensaje Diciembre 23, 2016, 10:23:24 pm
por coke951