Bienvenido: ( Identificarse | Registrarse )      
Foros de Trucos Windows
1 2 3
Closed TopicStart new topicStart Poll

Outline · [ Estándar ] · Lineal+

> Dudas...., Robbie!! XD

rob1104
post Jun 16 2006, 08:02 PM
Publicado: #16


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



Hola blizknight, gracias a ti por tu confianza, ya que he aprendido un par de cosas que no sabia y he mejorado mas con el lenguaje java que por si no te habias dado cuenta es mi favorito tongue.gif

Para empezar te recomiendo que te alejes de los componentes awt, no es conveniente, estan escritos en codigo nativo de la plataforma y su apariencia depende de la plataforma (claro a vecess es obligatorio usarlos como en los Layout o en el contenedor Container que ahorita explicare) pero para botones, etiquetas, botones de seleccion, cajas de texto, etc... por lo mismo, no estan escritas en java, con la llegada de java 1.2 se implemento la tecnologia swing, que facilita en un 100 % el uso de componentes, porque al estar escritos en codigo Java son ligeros y su apariencia es independiente a la plataforma, el manual que lees talvez este desactualizado y solo se cente en awt, pero lo que quieres hacer, en swing es mucho mas sencillo mira

CODE
import javax.swing.*;
import java.awt.*;
public class checkbox extends JFrame
{
   public checkbox()
   {
       setSize(400,300);
       setTitle("Ejemplo CheckBox y GroupCeckBox");
       setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
       iniciar();
       setVisible(true);
   }
   private void iniciar()
   {
        ButtonGroup cbg =new ButtonGroup();
        JRadioButton rojo = new JRadioButton("Rojo");
        JRadioButton azul = new JRadioButton("Azul");
        JRadioButton verde = new JRadioButton("Verde");
        JRadioButton negro = new JRadioButton("Negro");
        cbg.add(rojo);
        cbg.add(azul);
        cbg.add(verde);
        cbg.add(negro);
        getContentPane().setLayout(new GridLayout(0,1));
        getContentPane().add(rojo);
        getContentPane().add(azul);
        getContentPane().add(verde);
        getContentPane().add(negro);
   }
   public static void main(String args[])
   {
       new checkbox();
   }
}

lee el codigo y te explicare todo, no lo comente por falta de tiempo, pero las dudas las resuelvo con gusto...

el metodo add que te refieres es del getContentPane(), que es el panel principal de la aplicacion, y si no agregas mas paneles es en el getContentPane() donde se alinean los controles, y precisamente el componente java.awt.Container es el getContentPane(), si te fijas lo asigne
Container c = getContentPane()
para en vez de por ejemplo poner getContentPane().setLayout(null),poner c.setLayout(null)

Para agregar objetos en un Jpanel llamas a su metodo add
JPanel panel1 = new JPanel();
panel1.add(etiqueta);


Disculpa si se me paso algo... ando corto en tiempo.. cualquier duda postea bro, entre los dos llegaremos a dominar el lenguaje JAVA tongue.gif

biggrin20jy.gif

thumbsup.gif
saludos bye1.gif


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 16 2006, 10:31 PM
Publicado: #17


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



pues si me esta gustando mas XD .. muxas gracias por el code mas tardecito lo reviso que voy a estudar otra cosita por cierto el container sirve para cambiarle el nombre a los objetos??

Container c = getContentPane()

o sea a parte de cambiar el getContentPane(); tambienpuedo cambiar otros terminos?, su funcion solo es cambiar nombre???
saludos XD :D


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 16 2006, 11:09 PM
Publicado: #18


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



negativo.... Container de la clase java.awt es el equivalente al Jpanel de la clase javax.swing (jeje cuantas cosas tongue.gif) por alguna extrania razon que aun desconozco el getContentPane() es un objeto java.awt.Container, por lo tanto para asignarlo a una variable y evitar poner su largo nombre y parentesis pues la variable tambien tiene que ser un java.awt.Container vdd?? entonces declaro la variable:
CODE
Container c;

y la asigno
CODE
c=getContentPane();


Para asignar a un objeto debe ser del mismo tipo si no el compilador marcara error,
String: para asignar cadenas de texto
Integer: para asgnar numeros
java.awt.Container: para asignar contenedores
javax.swing.JLabel() para asignar JLabel

y asi .....

bye1.gif


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 16 2006, 11:50 PM
Publicado: #19


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



entonces cual es la funcion del container??
solo sirve para el getconentpane???
si no es asi tienes otro ejemplo XD
gracias
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 17 2006, 04:17 AM
Publicado: #20


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



Otra vez te respondo que no exactamente, pero por ahi va la cosa, mira Container es una clase abstracta derivada de Component, que representa a cualquier componente que pueda contener otros componentes. Se trata, en esencia, de añadir a la clase Component la funcionalidad de adición, sustracción, recuperación, control y organización de otros componentes; mas exactamente a un alguno de los siguientes contenedores:
-Window
-Frame
-Dialog
-Panel

Te preguntaras porque no empiezan con J??? tongue.gif, pues por que son componentes AWT, cada uno tiene su equivalencia a swing
Window - JWindow
Frame - JFrame
DIalog - JDIalog
Panel - JPanel

Sabes, en awt puedes agregar los componentes directamente al Frame, sin embargo en swing tienen que agregarse al java.awt.getContentPane() que es un contenedor java.awt.Panel, es el unico componente awt que deberias usar.

El Container lo puedes usar con todo lo que sea contenedor, Window, Panel, Frame, Dialog....

un ejemplo sencillisimo es:
CODE
import java.awt.*;
import javax.swing.*;
public class miniejemplo
{
   public miniejemplo()
   {
       JFrame ventana = new JFrame();
       JLabel hola = new JLabel("Hola Mundo");
       ventana.setSize(100,100);
       Container panelPrincipal = ventana.getContentPane();
       panelPrincipal.setLayout(new GridLayout(0,1));
       panelPrincipal.add(hola);
       ventana.setVisible(true);
   }
   public static void main(String args[])
   {
       new miniejemplo();
   }
}    


Recuerda puedes agregar tantos JPanel() como quieras sobre el getContentPane(), pero el getContentPane() siempre sera el panel principal de un JFrame


Salu2 bye1.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 17 2006, 04:19 PM
Publicado: #21


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



pues ahora que reviso el code de los radio button ya los entiendo, puesto que creo que los otros manuales estaban desacutalizados XD gracias.... en el caso de que no se use el button group se podrian seleccionar mas nop ?? y serian como un simple checkbox?
saludos
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 17 2006, 06:08 PM
Publicado: #22


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



Ves como te decia que en swing era mas facil, cuando leas un manual por la red verifica que esten hablando de swing y de preferencia de java 1.4 para arriba, asi estaras mas actualizado y sera mucho mas facil de entender....

respecto a los buttongroup asi es, si no añades los JRadioButton al ButtonGroup este actuara como checkbox...

Saludos bye1.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 23 2006, 09:17 PM
Publicado: #23


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



flowers.gif flowers.gif robbie otra dudilla XD....
como acomodo los radiobuttons?? ya que en el code que me diste no se mueven XD, y si los quiero poner en horizontal y no tan separados?
como ejecuto una funcion con solo cambiar el selector del radiobutton? o de un checkbox?? seria con if(e.getsource...... dandole actionlistener al radiobutton?
saludos y graxias XD


pues acabo de revisar, ya lo ordene me falto poner setlayout null whistling.gif
pero aun sigo sin poder hacer esto mira si esta bien( si el boton x esta seleccionado cambia el texto del label)
gracias flowers.gif flowers.gif

QUOTE
import javax.swing.*;
import java.awt.*;
public class checkbox extends JFrame
{
   public checkbox()
   {
       setSize(400,300);
       setTitle("Ejemplo CheckBox y GroupCeckBox");
       setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
       iniciar();
       setVisible(true);
   }
   private void iniciar()
   {
        ButtonGroup cbg =new ButtonGroup();
        JRadioButton rojo = new JRadioButton("Rojo");
        JRadioButton azul = new JRadioButton("Azul");
        JRadioButton verde = new JRadioButton("Verde");
        JRadioButton negro = new JRadioButton("Negro");
        cbg.add(rojo);
        cbg.add(azul);
        cbg.add(verde);
        cbg.add(negro);
        getContentPane().setLayout(new GridLayout(0,1));
        getContentPane().add(rojo);
        getContentPane().add(azul);
        getContentPane().add(verde);
        getContentPane().add(negro);
        rojo.setBounds(25,35,60,15);
       
        negro.setBounds(25,55,60,15);
        azul.setBounds(25,75,60,15);
        verde.setBounds(25,95,60,15);
       
        getContentPane().setLayout(null);
       
        JLabel lbl;
        lbl = new JLabel("hola");
        lbl.setBounds(50,120,100,100);
       getContentPane().add(lbl);
      
      
   }
   public void actionPerformed(ActionEvent e){
     if(rojo.isSelected()==true){
   lbl.setText("rjoi");
   }
   
   
   }
  
  
   public static void main(String args[])
   {
       new checkbox();
   }
}
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 23 2006, 11:08 PM
Publicado: #24


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



Si andabas un poquito perdido

CODE
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;   //se te olvido este import
public class checkbox extends JFrame
{
  public checkbox()
  {
      setSize(400,300);
      setTitle("Ejemplo CheckBox y GroupCeckBox");
      setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      iniciar();
      setVisible(true);
  }
  private void iniciar()
  {
       ButtonGroup cbg =new ButtonGroup();
       //declararas como final para que pueda ser accesada de la clase
       final JRadioButton rojo = new JRadioButton("Rojo");
       final JRadioButton azul = new JRadioButton("Azul");
       final JRadioButton verde = new JRadioButton("Verde");
       final JRadioButton negro = new JRadioButton("Negro");

       cbg.add(rojo);
       cbg.add(azul);
       cbg.add(verde);
       cbg.add(negro);
       getContentPane().setLayout(new GridLayout(0,1));
       getContentPane().add(rojo);
       getContentPane().add(azul);
       getContentPane().add(verde);
       getContentPane().add(negro);
       rojo.setBounds(25,35,60,15);
       
       negro.setBounds(25,55,60,15);
       azul.setBounds(25,75,60,15);
       verde.setBounds(25,95,60,15);
       
       getContentPane().setLayout(null);
       
       final JLabel lbl; //igual esta, final
       lbl = new JLabel("hola");
       lbl.setBounds(50,120,100,100);
       getContentPane().add(lbl);
       
       /*Correcion*/   //xD
       rojo.addActionListener(new ActionListener()
       {
        public void actionPerformed(ActionEvent e)
        {
         if(rojo.isSelected()==true)
         {
          lbl.setText("Rojo");
         }
        }
       });
     
  }
 
 
 
  public static void main(String args[])
  {
      new checkbox();
  }
}
bye1.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 25 2006, 01:02 AM
Publicado: #25


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



robbie XD
aca una duda de un problema de como hacer esto es como una base de datos pero se puede sin utilizar base de datos?? pues no se me ocurre como ingresar tantos clientes y donde se alamcenan y luego como buscarlos???
saludos

CODE
Ingresar un cliente

Al seleccionar esta opción se dará paso a un panel de ingreso donde se efectuará el ingreso de un cliente. Para crear un cliente se requieren los siguientes datos: código (entero autogenerado que será mostrado al entrar al panel de ingreso), nombres y apellidos (cadena), DNI (cadena), teléfono (cadena) y saldo de tiempo disponible (entero inicializado en 0). Una vez rellenados los datos del cliente se procederá a grabarlo mediante la pulsación de un botón Ingresar e inmediatamente se volverá al menú Mantenimiento de clientes. Para cancelar el proceso en curso y volver al menú Mantenimiento de clientes se pulsará un botón Regresar.

Modificar un cliente

Al seleccionar esta opción se dará paso a un panel de búsqueda donde se ingresará el código del cliente a modificar y se procederá a buscarlo mediante la pulsación de un botón Buscar. Si el cliente existe se pasará a un panel de modificación donde se mostrarán los datos del cliente encontrado (código, nombres y apellidos, DNI, teléfono y saldo de tiempo disponible) cada uno en un JTextField. Todos los datos serán mostrados como editables a excepción del código que será no editable. Una vez modificados los datos se procederá a grabar los cambios mediante la pulsación de un botón Modificar e inmediatamente se volverá al menú Mantenimiento de clientes. Para cancelar el proceso en curso y volver al menú Mantenimiento de clientes se pulsará un botón Regresar.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 26 2006, 08:15 PM
Publicado: #26


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



Talvez si se pueda hacer sin base de datos, pero es mucho mas facil hacerlo con base de datos, si no quieres muchos problemas y es algo local, haslo con access, es muy facil, si queires algo mas util utiliza mysql y el driver jdbc-odbc muy util, es muy facil hacer la conexion y los programas tipicos de altas/bajas/cambios/reporte etc... solo es cuestion de tener paciencia coolio0ju.gif

salu2
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 27 2006, 12:01 AM
Publicado: #27


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



franco me dijo que podia usar archivos .ini para eso pero no sabia como, mas bien tal ves use base de datos pero nunca he conectado, prefiero usar access por ahora, mas bien tienes algun ejemplo en java para ver como es la conexion?
gracias
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 27 2006, 12:50 AM
Publicado: #28


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



En casa tengo un par de aplicaciones que se conectan a access, puede que te sirvan, por mientras dale una leida a esto:

Conectar java-access

Trata de comprenderlo al 100 % y no batallaras nada smile.gif

bye1.gif

Pd: olvidate de los .ini no estas en Visual Basic, no estas en programacion exclusiva de Microsofr Windows, empieza a pensar en .xml o .conf, pero no .ini wink.gif


salu2 victory.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
blizknight
post Jun 27 2006, 03:53 AM
Publicado: #29


Maestro
*****

Grupo: Members
Mensajes: 265
Registrado: 12-September 04
Miembro nº: 18.538



muy buen articulo, muy teorico, aunque no encuentro eso de panel de control, o tal ves no sea necesario?, tienes algun ejemplo de conexion para entenderlo mejor? XD
saludos
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
rob1104
post Jun 28 2006, 05:07 PM
Publicado: #30


Xbox Live... The best thing ever happened around videogames
Group Icon

Grupo: Moderadores
Mensajes: 1.665
Registrado: 7-March 05
Desde: Matamoros, Tamaulipas, Mexico
Miembro nº: 93.342



Claro que es necesario, mira en windows xp es asi:

Inicio/Panel de Control/Herramientas administrativas/Origenes de datos(ODBC)

Ahora aparecera la ventana con la pestana DNS de Usuario seleccionada, ahi da click en el boton agregar, y selecciona Microsoft Access Driver (*.mdb). Llena todos los campos (Nombre del origen de datos "el que desees", Descripcion so quieres, selecciona la base de datos y listo smile.gif, ahora si, sigue el tutorial que puse en el post anterior desde este tema Clases, objetos y métodos básicos, y saldra todo muy bien

salu2 thumbsup.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
1 2 3
Closed TopicTopic OptionsStart new topic

Collapse

> Topicos similares

Ayuda con mis dudas. jeatila 73 5 Oct 13 2008, 04:32 PM
By: Caito
dos dudas hughl 98 1 Sep 25 2008, 04:17 AM
By: jando
DUDAS chungopetaka 105 1 Sep 17 2008, 06:32 PM
By: 888
DUDAS SOBRE "DAEMON TOOLS" lordrein 379 1 Aug 29 2008, 12:49 PM
By: rioj