send
Grupo de Telegram
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
  • 1493 Vistas

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

Desconectado LKI

  • *
  • Underc0der
  • Mensajes: 59
  • Actividad:
    0%
  • 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login barra;
  12.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login menu;
  13.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login menuItem;
  14.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login scrollPane;
  15.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login panelCentral;
  16.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login area;
  17.         private int lineas;
  18.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login labelContador;
  19.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login panelInferior;
  20.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login texto;
  21.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login menuFormato;
  22.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login menuFuente;
  23.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login menuTamanio;
  24.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login menuColor;
  25.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login paletaDeColores;
  26.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login tamanio2;
  27.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login tamanio1;
  28.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login fuente1;
  29.         public You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login fuente2;
  30.         public You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login();
  50.                 labelContador = new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(" ");
  51.                 labelContador.setFont(new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("Arial Unicode MS", You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login();
  63.                 menu = new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("Opciones");
  64.                 menuFormato = new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("Formato");
  65.  
  66.                 menuItem = new You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login();
  108.                 area.setFont(new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login("Monospaced", You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.PLAIN, 15));
  109.                 scrollPane = new You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login.VERTICAL_SCROLLBAR_ALWAYS);
  114.                 getContentPane().add(scrollPane, You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login texto;
  15.         private int lineas;
  16.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login color;
  17.         private You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login nuevaFuente;
  18.         private You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login ventanaDeColores = new You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login abrirArchivo() {
  32.                setLineas(0);
  33.                 You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login file = new You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login archivos = new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(abre);
  49.                                 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login lee = new You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login ex) {
  58.                         You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login nuevaFuente(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login font, int tamanio) {
  86.  
  87.                 nuevaFuente = new You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(font, You are not allowed to view links. You are not allowed to view links. Register or Login or 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. You are not allowed to view links. Register or Login or 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:
    1.67%
  • 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: 1382
Último mensaje Febrero 23, 2015, 10:13:28 am
por Hu3c0
Como compilar programas Java en la consola de comandos de Windows

Iniciado por tar3kw0rm3d

Respuestas: 2
Vistas: 2089
Último mensaje Junio 04, 2013, 02:55:07 pm
por tar3kw0rm3d
[LIBRO] Programación avanzada en Java - Sonia Jaramillo Valbuena

Iniciado por graphixx

Respuestas: 1
Vistas: 2309
Último mensaje Noviembre 07, 2017, 12:34:40 pm
por K0m0dr3x
Java Extremo [Video Cursos Completos] [Español] [ISO] 2009

Iniciado por graphixx

Respuestas: 9
Vistas: 4143
Último mensaje Diciembre 04, 2017, 02:36:34 am
por graphixx
Tutorial: Traduccion de aplicaciones JAVA - Moviles [By :: SmartGenius :: ]

Iniciado por ProcessKill

Respuestas: 0
Vistas: 1449
Último mensaje Febrero 24, 2010, 04:26:07 pm
por ProcessKill