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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  JTextField crea celdas al cambiar el tamaño de la ventana
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: JTextField crea celdas al cambiar el tamaño de la ventana  (Leído 2,917 veces)
aangrymasther

Desconectado Desconectado

Mensajes: 69


Zona especial Este


Ver Perfil
JTextField crea celdas al cambiar el tamaño de la ventana
« en: 26 Enero 2018, 09:01 am »

Buenas, e estado estudiando un poco de diseño de interfaces de usuario en Java y me a surgido un problema, el caso esta en que al añadir a un JPanel una entrada de texto (Con JTextField) y cambiar el tamaño de la ventana, se crean varias celdas mas, cuando tengo entendido que esto no debería ser asi, ¿se os ocurre donde esta el error?

Código:
import java.awt.*;

import javax.swing.*;
public class AWTUserWriting {

public static void main(String args[]){

Frame frame = new Frame();

}

}

class Frame extends JFrame{
public Frame(){
setTitle("Hola Usuario");
setSize(300, 400);
setResizable(true);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
VentanaTexto text = new VentanaTexto();
add(text);

}
}

class VentanaTexto extends JPanel{

public void paintComponent(Graphics g){
super.paintComponent(g);
JTextField texto = new JTextField(20);
texto.setLocation(0,500);
add(texto);
}
}


En línea

Probablemente el 99% de lo que digo sea incorrecto
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: JTextField crea celdas al cambiar el tamaño de la ventana
« Respuesta #1 en: 27 Enero 2018, 05:29 am »

Hola,
Este método produce el issue, repinta mas JTextfield
Código
  1.  
  2. public void paintComponent(Graphics g){  
  3.  super.paintComponent(g);
  4.  JTextField texto = new JTextField(20);
  5.  texto.setLocation(0,500);
  6.  add(texto);
  7. }
  8.  
  9.  

Pero aquí tienes un JTextfield con el administrador de diseño  setLayout(new GridBagLayout()); ver línea 26, muchas veces resulta mejor usar un administrador de diseño para la alineación de los componentes


Código
  1. package foro;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. class Frame extends JFrame{
  7.    public Frame(){
  8.        setTitle("Hola Usuario");
  9.        setSize(300, 400);
  10.        setResizable(true);
  11.        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  12.        VentanaTexto text = new VentanaTexto();
  13.        add(text);
  14.        setLocationRelativeTo(null);
  15.        setVisible(true);
  16.        pack();
  17.  
  18.    }
  19. }
  20.  
  21. class VentanaTexto extends JPanel{
  22.  
  23.    private JTextField textField = new JTextField(20);
  24.    public VentanaTexto() {
  25.  
  26.        setLayout(new GridBagLayout());
  27.        setBorder(BorderFactory.createTitledBorder("Testing"));
  28.        add(textField);
  29.    }
  30. //    public void paintComponent(Graphics g){ //se generan muchos JTextField
  31. //        super.paintComponent(g);
  32. //        JTextField texto = new JTextField(20);
  33. //        texto.setLocation(0,500);
  34. //        add(texto);
  35. //    }
  36. }
  37. public class AWTUserWriting {
  38.  
  39.        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  40.        new AWTUserWriting();
  41.        new Frame();
  42.    }
  43. }
  44.  
  45.  


« Última modificación: 27 Enero 2018, 05:34 am por rub'n » En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
2 preg... Apagar monitor y cambiar tamaño ventana
Programación Visual Basic
Fr4NN^ 2 1,388 Último mensaje 9 Enero 2008, 03:18 am
por Fr4NN^
JTable tamaño de celdas ajustable y mostrar texto completo
Java
marvic 1 29,342 Último mensaje 12 Abril 2009, 19:57 pm
por marvic
Como crea una ventana un SO?
Programación General
stribok 4 2,362 Último mensaje 18 Diciembre 2012, 04:02 am
por [Case]
[Resuelto] ¿se puede forzar tamaño de celdas en tablas de html?
Desarrollo Web
Misterio_S 3 5,084 Último mensaje 27 Diciembre 2014, 23:19 pm
por Misterio_S
Tamaño ventana
Desarrollo Web
jalbtercero 0 1,796 Último mensaje 21 Mayo 2016, 12:04 pm
por jalbtercero
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines