elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6
41  Programación / Java / Alinear un JLabel en un Panel en: 14 Noviembre 2018, 05:22 am
Buenos dias,estoy realizando la parte grafica de un programa y llevo rato atorado por querer acomodar varios JLabel mediante el metodo setAlignmentX.
En sintesis mi programa cuenta con varios paneles que para ser mas precisos son ordenados mediante un esquema BorderLayout, el panel en el que tengo problemas es en el panel del borde derecho.

El panel del borde derecho esta compuesto por principalmente dos paneles(Adjunto imagenes al final), este panel ordena a sus dos paneles hijos mediante un esquema BoxLayout en el eje Y ,mi problema se encuentra en estos dos paneles hijos.Ambos paneles hijos estan construidos de la misma manera mediante un esquema BoxLayout en el eje X, en ambos paneles tengo un JLabel llamado titulo que me representa el titulo del menu respectivamente , en ambos casos los paneles contienen otros paneles hijos que por el momento no he terminado sin embargo mi problema se encuentra en estos JLabel que representan los titulos de los menus los cuales quiero que esten alineados o pegados al borde izquiero de su respectivo Panel sin embargo no lo he conseguido con el metodo setAlignmentX.Tengo mis dudas si es por la manera en que estoy creando las ventanas o que simplemente el BoxLayout no me lo permite.De antemano agradezco sus aportes y adjunto el codigo e imagen de la interfaz grafica.

Clase de Contenedor Padre(Se encuentra en un BorderLayout en el borde derecho).

Código
  1. import java.awt.*;
  2. import javax.swing.*;
  3.  
  4. public class MenuOpcionesFiguras extends JPanel{
  5.    JPanel menuCrearFiguras;
  6.    JPanel menuBorrarFiguras;
  7.    JLabel titulo;
  8.  
  9.    public MenuOpcionesFiguras(){
  10.  
  11.        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  12.  
  13.        //Creacion de Paneles para menu de creacion de figuras, eliminacion de figuras,etc..
  14.        menuCrearFiguras = new MenuCrearFiguras();
  15.        menuCrearFiguras.setBorder(BorderFactory.createLineBorder(Color.black));
  16.        menuCrearFiguras.setBackground(new Color(255, 153, 51));
  17.  
  18.  
  19.        menuBorrarFiguras = new MenuBorrarFiguras();
  20.        menuBorrarFiguras.setBorder(BorderFactory.createLineBorder(Color.black));
  21.        menuBorrarFiguras.setBackground(new Color(102, 153, 255));
  22.  
  23.        titulo = new JLabel("Herramientas");
  24.        titulo.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,14));
  25.        titulo.setAlignmentX(SwingConstants.CENTER);
  26.  
  27.  
  28.        //Agregado de componentes al Panel
  29.        add(titulo);
  30.       add(menuCrearFiguras);
  31.       add(menuBorrarFiguras);
  32.  
  33.  
  34.  
  35.  
  36.  
  37.    }
  38.  
  39.    @Override
  40.    public Dimension getPreferredSize(){
  41.        Dimension dimensionPadre = getParent().getSize();
  42.        return new Dimension((int)(dimensionPadre.getWidth()/5),(int)(dimensionPadre.getHeight()));
  43.  
  44.    }
  45.  
  46. }
  47.  
  48.  
  49.  

Clase un panel hijo (Se encuentra contenido en el JPanel de arriba)

Código
  1. import javax.swing.*;
  2. import javax.swing.SwingConstants;
  3.  
  4.  
  5.  
  6. import java.awt.event.*;
  7. import java.awt.*;
  8.  
  9. public class MenuCrearFiguras extends JPanel{
  10.  
  11.  
  12.    JPanel subMenuCrearFigura;
  13.    JLabel titulo;
  14.    JPanel botones;
  15.  
  16.  
  17.  
  18.    public MenuCrearFiguras(){
  19.  
  20.        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  21.  
  22.        //Declaracion de componentes
  23.        titulo =new JLabel("Crear Figuras");
  24.        titulo.setFont(new Font("Agency FB", Font.BOLD, 14));
  25.        titulo.setAlignmentX(LEFT_ALIGNMENT);
  26.  
  27.  
  28.  
  29.        botones = new BotonesCrearFiguras();
  30.       // botones.setAlignmentX(JPanel.LEFT_ALIGNMENT);
  31.  
  32.        add(titulo);
  33.        add(botones);
  34.  
  35.        //Agregar eventos a los componentes
  36.  
  37.  
  38.  
  39.  
  40.    }
  41.    @Override
  42.    public Dimension getPreferredSize(){
  43.        Dimension dimensionPadre = getParent().getSize();
  44.        return new Dimension((int)(dimensionPadre.getWidth()),(int)(dimensionPadre.getHeight()/2));
  45.    }
  46.  
  47.  
  48.  
  49. }
  50.  
  51.  


Clase contenida en el JPanel de la primera clase.En esta clase tambien se encuentra el problema con el posicionamiento del JLabel.

Código
  1.  
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6.  
  7.  
  8. public class MenuBorrarFiguras extends JPanel{
  9.    JPanel menuBorrarID;
  10.    JButton borrarPuntero;
  11.    JLabel titulo;
  12.  
  13.    public MenuBorrarFiguras(){
  14.        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  15.  
  16.        //Creacion de componentes
  17.        menuBorrarID = new MenuBorrarID();
  18.        //borrarPuntero = new JButton("Borrar con puntero");
  19.  
  20.        titulo =new JLabel("Borrar Figuras");
  21.        titulo.setFont(new Font("Agency FB", Font.BOLD, 14));
  22.        titulo.setAlignmentX(LEFT_ALIGNMENT);
  23.  
  24.  
  25.  
  26.  
  27.  
  28.        //Agregado de elementos al panel
  29.        add(titulo);
  30.        add(menuBorrarID);
  31.        //add(borrarPuntero);
  32.  
  33.  
  34.        //Agregado de eventos a los componentes
  35.  
  36.    }
  37.  
  38.  
  39.    public Dimension getPreferredSize(){
  40.        Container padre =  getParent();
  41.        Dimension dimensionPadre = padre.getSize();
  42.        return new Dimension((int)dimensionPadre.getWidth(),(int)(dimensionPadre.getHeight()/2));
  43.    }
  44.  
  45. }
  46.  


Finalmente una foto de la parte de la Interfaz Grafica donde tengo problemas con los titulos


42  Programación / Programación General / Alineacion de un JLabel en JPanel en: 14 Noviembre 2018, 04:31 am
Buenos dias,estoy realizando la parte grafica de un programa y llevo rato atorado por querer acomodar varios JLabel mediante el metodo setAlignmentX.
En sintesis mi programa cuenta con varios paneles que para ser mas precisos son ordenados mediante un esquema BorderLayout, el panel en el que tengo problemas es en el panel del borde derecho.

El panel del borde derecho esta compuesto por principalmente dos paneles(Adjunto imagenes al final), este panel ordena a sus dos paneles hijos mediante un esquema BoxLayout en el eje Y ,mi problema se encuentra en estos dos paneles hijos.Ambos paneles hijos estan construidos de la misma manera mediante un esquema BoxLayout en el eje X, en ambos paneles tengo un JLabel llamado titulo que me representa el titulo del menu respectivamente , en ambos casos los paneles contienen otros paneles hijos que por el momento no he terminado sin embargo mi problema se encuentra en estos JLabel que representan los titulos de los menus los cuales quiero que esten alineados o pegados al borde izquiero de su respectivo Panel sin embargo no lo he conseguido con el metodo setAlignmentX.Tengo mis dudas si es por la manera en que estoy creando las ventanas o que simplemente el BoxLayout no me lo permite.De antemano agradezco sus aportes y adjunto el codigo e imagen de la interfaz grafica.

Clase de Contenedor Padre(Se encuentra en un BorderLayout en el borde derecho).

Código
  1. import java.awt.*;
  2. import javax.swing.*;
  3.  
  4. public class MenuOpcionesFiguras extends JPanel{
  5.    JPanel menuCrearFiguras;
  6.    JPanel menuBorrarFiguras;
  7.    JLabel titulo;
  8.  
  9.    public MenuOpcionesFiguras(){
  10.  
  11.        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  12.  
  13.        //Creacion de Paneles para menu de creacion de figuras, eliminacion de figuras,etc..
  14.        menuCrearFiguras = new MenuCrearFiguras();
  15.        menuCrearFiguras.setBorder(BorderFactory.createLineBorder(Color.black));
  16.        menuCrearFiguras.setBackground(new Color(255, 153, 51));
  17.  
  18.  
  19.        menuBorrarFiguras = new MenuBorrarFiguras();
  20.        menuBorrarFiguras.setBorder(BorderFactory.createLineBorder(Color.black));
  21.        menuBorrarFiguras.setBackground(new Color(102, 153, 255));
  22.  
  23.        titulo = new JLabel("Herramientas");
  24.        titulo.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,14));
  25.        titulo.setAlignmentX(SwingConstants.CENTER);
  26.  
  27.  
  28.        //Agregado de componentes al Panel
  29.        add(titulo);
  30.       add(menuCrearFiguras);
  31.       add(menuBorrarFiguras);
  32.  
  33.  
  34.  
  35.  
  36.  
  37.    }
  38.  
  39.    @Override
  40.    public Dimension getPreferredSize(){
  41.        Dimension dimensionPadre = getParent().getSize();
  42.        return new Dimension((int)(dimensionPadre.getWidth()/5),(int)(dimensionPadre.getHeight()));
  43.  
  44.    }
  45.  
  46. }
  47.  
  48.  
  49.  

Clase un panel hijo (Se encuentra contenido en el JPanel de arriba)

Código
  1. import javax.swing.*;
  2. import javax.swing.SwingConstants;
  3.  
  4.  
  5.  
  6. import java.awt.event.*;
  7. import java.awt.*;
  8.  
  9. public class MenuCrearFiguras extends JPanel{
  10.  
  11.  
  12.    JPanel subMenuCrearFigura;
  13.    JLabel titulo;
  14.    JPanel botones;
  15.  
  16.  
  17.  
  18.    public MenuCrearFiguras(){
  19.  
  20.        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  21.  
  22.        //Declaracion de componentes
  23.        titulo =new JLabel("Crear Figuras");
  24.        titulo.setFont(new Font("Agency FB", Font.BOLD, 14));
  25.        titulo.setAlignmentX(LEFT_ALIGNMENT);
  26.  
  27.  
  28.  
  29.        botones = new BotonesCrearFiguras();
  30.       // botones.setAlignmentX(JPanel.LEFT_ALIGNMENT);
  31.  
  32.        add(titulo);
  33.        add(botones);
  34.  
  35.        //Agregar eventos a los componentes
  36.  
  37.  
  38.  
  39.  
  40.    }
  41.    @Override
  42.    public Dimension getPreferredSize(){
  43.        Dimension dimensionPadre = getParent().getSize();
  44.        return new Dimension((int)(dimensionPadre.getWidth()),(int)(dimensionPadre.getHeight()/2));
  45.    }
  46.  
  47.  
  48.  
  49. }
  50.  
  51.  


Clase contenida en el JPanel de la primera clase.En esta clase tambien se encuentra el problema con el posicionamiento del JLabel.

Código
  1.  
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6.  
  7.  
  8. public class MenuBorrarFiguras extends JPanel{
  9.    JPanel menuBorrarID;
  10.    JButton borrarPuntero;
  11.    JLabel titulo;
  12.  
  13.    public MenuBorrarFiguras(){
  14.        setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
  15.  
  16.        //Creacion de componentes
  17.        menuBorrarID = new MenuBorrarID();
  18.        //borrarPuntero = new JButton("Borrar con puntero");
  19.  
  20.        titulo =new JLabel("Borrar Figuras");
  21.        titulo.setFont(new Font("Agency FB", Font.BOLD, 14));
  22.        titulo.setAlignmentX(LEFT_ALIGNMENT);
  23.  
  24.  
  25.  
  26.  
  27.  
  28.        //Agregado de elementos al panel
  29.        add(titulo);
  30.        add(menuBorrarID);
  31.        //add(borrarPuntero);
  32.  
  33.  
  34.        //Agregado de eventos a los componentes
  35.  
  36.    }
  37.  
  38.  
  39.    public Dimension getPreferredSize(){
  40.        Container padre =  getParent();
  41.        Dimension dimensionPadre = padre.getSize();
  42.        return new Dimension((int)dimensionPadre.getWidth(),(int)(dimensionPadre.getHeight()/2));
  43.    }
  44.  
  45. }
  46.  


Finalmente una foto de la parte de la Interfaz Grafica donde tengo problemas con los titulos


43  Programación / Programación C/C++ / Re: ¿Estructuras de datos en C++? en: 27 Octubre 2018, 23:18 pm
De antemano gracias por sus aportaciones , las tomare en cuenta sin embargo me surge una duda a partir de que c++ y c son dos lenguajes distintos..En la poca experiencia que he tenido leyendo sobre c++ he visto que la mayoria de los autores habla de c++ como un superconjunto de c,a partir de lo anterior me crea la incertidumbre si esto es totalmente cierto o es una simplete exageracion.En el caso de que sea asi se podria decir que desde el lenguaje c++ yo puedo hacer un programa exactamente igual que en c independientemente de la complejidad que tenga, con la misma sintaxis ,etc..Sin embargo c++ me presentaria una segunda forma de hacerlo con la abstraccion que presenta el lenguaje  y la POO.?
44  Programación / Programación C/C++ / Re: ¿Estructuras de datos en C++? en: 27 Octubre 2018, 21:20 pm
Hacia referencia al área que estudia las estructuras de datos que se pueden generar en los lenguajes de programacion tales como pilas,colas,arboles binarios,etc.. Y que a la vez mete teoría sobre como ordenar,manipular y manejar estos datos.

Mi pregunta iba encaminada a que si era mejor aprender esto en c/c++ por las ventajas que presentan los apuntadores.
45  Programación / Programación C/C++ / Re: ¿Estructuras de datos en C++? en: 27 Octubre 2018, 05:25 am
De antemano ,gracias por responder.Actualmente ya he programado en POO, conozco los conceptos y de forma mas particular he manejado Java pero sin embargo anteriormente ya pase por C y me gusto bastante , sin embargo ahora que ya conozco los conceptos de la POO me interesa continuar con temas mas avanzados combinando paradigmas y la libertad que me da C++.En este caso en el que ya
tengo un poco de experiencia con niveles de alto nivel ¿me recomendaria que siguiera con el tema de "Estructuras de datos" en el lenguaje c/c++? ¿ O que mejorar reforzara mi experiencia en un lenguaje como java?
46  Programación / Programación C/C++ / ¿Estructuras de datos en C++? en: 27 Octubre 2018, 02:53 am
Buenas a todos.Tengo contemplado leer algun libro y profundizar un poco en el tema de estructuras de datos, actualmente conozco un poco el lenguaje C y ya he realizado algunas estructuras de datos basicas en el ,sin embargo ahora que quiero profundizar en el tema me ha surgido la duda de si deberia profundizar el tema en el lenguaje c/c++ o en algun otro lenguaje como java.

Durante mi búsqueda he visto que existe una gran de contenido sobre este tema enfocado en el lenguaje java pero no me termino de decidir si realmente lo quiero enfocar en ese lenguaje o prefiero explotar aun mas las capacidades que me ofrece c/++ con sus punteros.

Para finalizar me gustaria si me podrian ayudar a confirmar si realmente me seria mas util profundizar el tema en c/c++ o si seria mejor hacerlo en java.Ademas de eso si alguien conoce un buen libro sobre este tema le agradeceria que me pasara el nombre.
47  Programación / Programación General / Flujo de Datos con InputStreamReader en: 25 Septiembre 2018, 19:22 pm
Muy buenas tardes, dias o noches.He estado investigando sobre la gran variedad de clases que existen en java para el manejo de flujos, se me presento el problema de leer carácter ingresados desde la consola y lo realice con el siguiente código:

Código
  1. import java.io.*;
  2. class prueba{
  3.  
  4.    public static void main(String args[]){
  5.  
  6.        try{
  7.  
  8.           char c;
  9.           InputStreamReader leer = new InputStreamReader(System.in);
  10.  
  11.            System.out.println("Ingresa Caracter 1: ");
  12.  
  13.            c= (char)leer.read();
  14.            leer.read();
  15.            leer.read();
  16.  
  17.            System.out.println("Caracter Ingresado: " +c);
  18.            System.out.println("Ingresa Caracter 2: ");
  19.            c= (char)leer.read();
  20.            System.out.println(leer.read());    //Nueva Linea
  21.            System.out.println(leer.read());    //Retorno de carro
  22.  
  23.  
  24.  
  25.            System.out.println("Caracter Ingresado: " +c);
  26.  
  27.            System.out.println("Ingresa Caracter 3: ");
  28.            c= (char)leer.read();
  29.            leer.read();
  30.            leer.read();
  31.            System.out.println("Caracter Ingresado " +c);
  32.        */    
  33.  
  34.        }catch(Exception e){
  35.            System.out.println("Error"+e);
  36.        }
  37.  
  38.    }
  39. }
  40.  

Al finalizar el programa logre capturar caracteres ingresados por consola pero me creo desconfianza el hecho de que necesitara 3 métodos read() para recolectar un carácter.Entiendo que el primer read es para obtener el carácter que deseamos, el segundo seria para recoger el "Enter" o carácter de nueva linea , pero cuando llegamos al 3er read realmente ya no sé por que es necesario.Investigando un poco mas he decidido agregar en el código 2 System.out.println(leer.read()) justo después de que leo el segundo carácter para intentar descifrar que es lo que realmente esta capturando.Efectivamente el programa me regreso dos valores numéricos que al yo relacionarlos con un valor de unicode di a la conclusión de que era el valor tanto del carácter de nueva linea , asi como el de retorno de esta manera tendría que para leer un carácter se necesita en realidad leer 3 caracteres para no dejar valores basura.El primero seria para el carácter que deseamos, el segundo para el carácter de nueva linea y el tercero para el carácter de retorno.

A partir de lo anterior no he comprendido por que en java al momento de escribir en consola realmente me esta colocando el carácter que  escribo, el carácter de nueva linea y el carácter de retorno de carro , cuando en otros lenguajes como en C  , recuerdo que simplemente bastaba con poner un getchar(); para recolectar el carácter de nueva linea y no tenia que preocuparme por un carácter de retorno debido a que el carácter de nueva linea ya era prácticamente una nueva linea con retorno de carro.De antemano les agradezco por el tiempo que les ha tomado leer esto y les agradecería si me podrian resolver esta duda
48  Programación / Programación General / MODELACION DE UN PROBLEMA DE RESERVACIONES en: 31 Agosto 2018, 05:31 am
Buenos dias,tardes o noches, pasaba por el foro para preguntar sobre algo que aparamente suele verse muy sencillo pero que aveces me genera incertidumbre sobre si estoy haciendo las cosas de la mejor manera posible.Durante un ejercicio de programacion me he afrontado con un problema de reservaciones dentro de un restaurante...Para no hacer mas extensa la descripcion , les presento aquellas clases que he creado para intentar dar solucion a la modelacion del problema desde el punto de vista orientado a objetos.

Clases:
-Mes
-Dia
-Horas
-Reservacion
-Datos de cliente
-Mesa

A partir de las anteriores clases he empezado a comprender el problema de la siguiente manera:
-Partiendo de la idea de que me debe ubicar en algo similar a un calendario, empiezo mis clases por la clase mes, esta clase mes a su vez debe estar compuesta por varios dias, y cada dia por varias horas , a su vez las horas deben tener reservaciones , estas reservaciones estan compuestas por una mesa en especifico y los datos del cliente.

Planteado el problema de esta forma , me parece que se puede seguir una logica entre la relacion de las clases sin embargo me surge una pregunta...¿Deberia agregar una clase o interfaz  "Mostrador" o "recepcionista" ?, a caso esta clase deberia manejar metodos tales como buscar Reservacion,Eliminar reservacion,Ver reservacion,etc... O todas estas acciones se las deberia dejar al metodo main.

Cabe recalcar que por el momento no me interesa  entrar en detalles sobre algun lenguaje, si no empezar a comprender los problemas desde un punto de vista modelado a objetos.De antemano les agradeceria si alguien me pudiera ayudar a resolver esta duda o corrigiendome sobre la forma en que plantie el problema, o simplemente aportandome alguna fuente donde pudiera consultar una manera correcta de hacerlo.
49  Programación / Programación C/C++ / Re: Problema con uso del incremento de una variable. en: 26 Abril 2018, 22:12 pm
Muchas gracias por tu respuesta,ahora entiendo que es lo que ocurre.
50  Programación / Programación C/C++ / Problema con uso del incremento de una variable. en: 26 Abril 2018, 21:40 pm
Muy buenos dias,tardes o noches,durante un problema que realizaba sobre archivos me tope con un error un tanto extraño y que me hizo retomar este tema basico sobre el incremento en postfijo y prefijo.Tengo muy presentes las dos diferencias entre escribir el incremento en postfijo y prefijo pero a la hora de yo realizar varios postfijos o prefijos en una sentencia como la funcion printf() me topo con que los datos que arroja son algo raros y no termino de realizar una conexion entre los incrementos de la variable y los valores arrojados.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.  
  7. int i=0;
  8.  
  9. printf("%d %d %d %d %d %d", ++i, i++, ++i, i++, ++i, i++);
  10.  
  11. }
  12.  
  13.  

El problema anterior no es el problema original, sin embargo es un pedazo de codigo que en esencia es el mismo problema que tengo en archivos y que ya pude solucionar de otra forma pero que sin embargo sigo sin entender la razon del resultado.
Páginas: 1 2 3 4 [5] 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines