style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

JPanel con JLabel y JTextField

Buenos días, quiero agregar a mi JFrame desde código un JPanel que contenga un JLabel y un JTextField, y que se posicionen dentro del JPanel donde yo les diga.

Me he creado una clase de la siguiente manera:

import java.awt.Color;
import javax.swing.*;

public class LabelText extends JPanel {
public LabelText(int nX, int nY, int nWP, int nHP, int nWT, int nHT) {
this.setLocation(nX, nY); // Posiciono el JPanel dentro del JFrame
this.setSize(nWP, nHP); // Pongo el alto y ancho del JPanel
this.setBackground(Color.red); // Lo pongo de color rojo para ver donde está

JTextField txt = new JTextField(); // Creo el JTextField
txt.setSize(100, 26); // Le pongo el alto y ancho al JTextField

this.add(txt); // Lo añado al JPanel
}
}

Luego por ejemplo cuando pulso un botón hago lo siguiente:

LabelText txt1 = new LabelText(600, 50, 200, 100, 200, 26);
add(txt1);

Cuando ejecuto el formulario se me muestra el JPanel perfectamente y de color rojo, pero el JTextField de dentro se ve también pero no se hace de ancho ni alto como le digo.

Alguien me puede decir como hacer para meter dentro un JLabel y un JTextField indicandole la posicion y medidas.

Un saludo.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Si, tienes que poner el

Si, tienes que poner el layout manager a null.

Es una mala idea porque precisamente para eso sirve el layout manager, para que no tengas que acomodar los componentes tu mismo.

setLayout( null );

Lo que deberías de hacer mejor es aprender como se usan los layout managers.

http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html

Si quieres dar un tamaña

Si quieres dar un tamaño específico a un JTextField, deberias de usar el método setPreferredSize(new Dimension(ancho, largo))

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">