Título: JLabel y JTextField demasiado pequeños.
Publicado por: MauroMasciar en 13 Marzo 2011, 00:43 am
Hola gente.. Hace un tiempo vengo tratando de aprender lo de GridLayout, y lo quise poner en practica en esta ventana que estuve haciendo... El problema es este: (http://img826.imageshack.us/img826/8341/java1w.jpg) (http://img826.imageshack.us/i/java1w.jpg/) El codigo del GridLayout de la ventana es: setLayout(marco);
Primero viene el titulo Después para poner las coordenadas Después todo los JLabel y JTextField Y finalmente el boton. (Que éste es un FlowLayout) Esas cuatro cosas puestas en cuatro JPanel diferentes con GridLayout... (Y ultimo con FlowLayout) El código de los JLabel y los JTextField es es siguiente: //FlowLayout SoldEnviar = new FlowLayout(); pnSoldadosAEnviar.setLayout(SoldEnviar); //pnSoldadosAEnviar.add(lblTitSoldados, JLabel.CENTER); pnSoldadosAEnviar.add(lblAsalto); pnSoldadosAEnviar.add(txtAsalto); pnSoldadosAEnviar. add(lblEspeciales, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtEspeciales, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblFrancoTiradores, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtFrancoTiradores, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblAntiTanques, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtAntiTanques, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblMedicos, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtMedicos, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblHelicopterosAtaque, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtHelicopterosAtaque, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblAvionesCaza, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtAvionesCaza, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblTransporteHelis, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtTransporteHelis, JTextField. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(lblTransporteAvion, JLabel. RIGHT_ALIGNMENT); pnSoldadosAEnviar. add(txtTransporteAvion, JTextField. RIGHT_ALIGNMENT); add(pnSoldadosAEnviar);
Alguien me podría ayudar? Si necesitan algún dato mas por favor pregunten... Gracias de antemano.. Otro dato: Cuando agrando la ventana, los TextField y los Label se van acomodando y poniendo en su tamaño normal (Aunque igualmente siguen siendo chicos)
Título: Re: JLabel y JTextField demasiado pequeños.
Publicado por: MauroMasciar en 13 Marzo 2011, 22:44 pm
Nadie? T_T
Título: Re: JLabel y JTextField demasiado pequeños.
Publicado por: 1mpuls0 en 14 Marzo 2011, 04:34 am
La verdad no veo falla en ese código, no quieres escribir lo todo?, mandamelo por mp y lo reviso.
O intenta con setLayout(null)
:p
Título: Re: JLabel y JTextField demasiado pequeños.
Publicado por: MauroMasciar en 14 Marzo 2011, 14:53 pm
Te envie el msj, pero en mi bandeja de salida no aparece, asi que posteo el codigo aca, excluyendo el actionPerformed por las dudas... import javax.swing.*; import java.awt.*; import java.awt.event.*; JLabel lblTransporteHelis = new JLabel("Helicopteros Transportadores:"); JLabel lblHelicopterosAtaque = new JLabel("Helicopteros de ataque"); JLabel lblTransporteAvion = new JLabel("Aviones Transportadores"); int asignAsaltos; int asignEspeciales; int asignFrancoTiradores; int asignAntiTanques; int asignMedicos; int asignHelicopterosAtaque; int asignAvionesCaza; int asignTransporteHelis; int asignTransporteAvion; public nuevoAtaque() { setTitle("Nuevo ataque"); setSize(800, 600); setLayout(marco); //Listeners btnEnviar.addActionListener(this); //Etiquetas de ventana principal etiquetasVentPrinc.setLayout(glEtiqPrinc); etiquetasVentPrinc.add(lblTitulo); add(etiquetasVentPrinc); //1 //FlowLayout Coord = new FlowLayout(); pnCoord.setLayout(glCoordSold); pnCoord.add(lblXCoord); pnCoord.add(txtXCoord); pnCoord.add(lblYCoord); pnCoord.add(txtYCoord); add(pnCoord); //cont =2 //FlowLayout SoldEnviar = new FlowLayout(); //GridLayout SoldEnviar = new GridLayout(10, 2); pnSoldadosAEnviar. setLayout(new GridLayout(9, 2, 10, 10)); //pnSoldadosAEnviar.add(lblTitSoldados, JLabel.CENTER); pnSoldadosAEnviar.add(lblAsalto); pnSoldadosAEnviar.add(txtAsalto); pnSoldadosAEnviar.add(lblEspeciales); pnSoldadosAEnviar.add(txtEspeciales); pnSoldadosAEnviar.add(lblFrancoTiradores); pnSoldadosAEnviar.add(txtFrancoTiradores); pnSoldadosAEnviar.add(lblAntiTanques); pnSoldadosAEnviar.add(txtAntiTanques); pnSoldadosAEnviar.add(lblMedicos); pnSoldadosAEnviar.add(txtMedicos); pnSoldadosAEnviar.add(lblHelicopterosAtaque); pnSoldadosAEnviar.add(txtHelicopterosAtaque); pnSoldadosAEnviar.add(lblAvionesCaza); pnSoldadosAEnviar.add(txtAvionesCaza); pnSoldadosAEnviar.add(lblTransporteHelis); pnSoldadosAEnviar.add(txtTransporteHelis); pnSoldadosAEnviar.add(lblTransporteAvion); pnSoldadosAEnviar.add(txtTransporteAvion); add(pnSoldadosAEnviar); //cont = 3 //GridLayout glbtnEnviar = new GridLayout(1, 1, 10, 10); pnBtnEnviar.setLayout(glbtnEnviar); pnBtnEnviar.add(btnEnviar); add(pnBtnEnviar); //cont = 4 }
Hice algunos pequeños cambios anoche, para ver si lo podía solucionar, pero no ha dado resultado..
Título: Re: JLabel y JTextField demasiado pequeños.
Publicado por: 1mpuls0 en 14 Marzo 2011, 18:56 pm
No sé que tanto te interese el espacio entre los componentes del panel pnSoldadosAEnviar, pero puedes intentar con esto pnSoldadosAEnviar.setLayout(new GridLayout(9, 2, 1, 1)); y/o hacer el jframe mas alto.
Te recomiendo que utilices la distribucion "GridBagLayout" es muy potente pero también muy compleja.
O puedes optar por un layout nulo, asi estables las coordenadas y tamaños de tus componentes.
Saludos.
Título: Re: JLabel y JTextField demasiado pequeños.
Publicado por: MauroMasciar en 15 Marzo 2011, 19:10 pm
Intentaré GridBagLayout.. Gracias por responder...
|