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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  JTextField con nombres que varien
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: JTextField con nombres que varien  (Leído 7,192 veces)
carmen77

Desconectado Desconectado

Mensajes: 2


Ver Perfil
JTextField con nombres que varien
« en: 17 Octubre 2010, 20:33 pm »

hola, queria preguntar una duda sobre programacion en eclipse con el lenguaje java.
es para un pasatiempo, quiero crear una tabla de n * n casillas cuyo n sera un numero

introducido por el jugador. para hacer la interfaz grafica quiero crear JTextField,

pero tiene que ser un numero variable de ellos, ya que dependera de numero de

casillas que tenga... seria algo asi
for(int fila=0; fila<longitud; fila++){
   for(int col=0; col<longitud; col++){
      JTextField nombre;
      ...
   }
}
donde pone JTextField nombre, quiero poner algo como nombre00 (fila 0, col 0),

nombre26 (fila 2, col 6).
bueno, espero haberme explicado mas o menos... alguien tiene alguna idea de como

se puede hacer? un saludo y gracias


En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: JTextField con nombres que varien
« Respuesta #1 en: 17 Octubre 2010, 20:45 pm »

Podrias o bien hacerlo con arrays de dichos componentes, o bien ir creando instancias de dicho objeto de manera dinamica osea:
 
Código
  1. for(int filas = 0; filas < 15; filas++) {
  2. }
  3.  

Al menos eso deduzco de tu codigo, porque no entiendo muy bien lo que pides.

Saludos


En línea

carmen77

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: JTextField con nombres que varien
« Respuesta #2 en: 17 Octubre 2010, 21:04 pm »

pero si pongo
Código:
for(int filas = 0; filas < 15; filas++) {
   JTextField nombre = new JTextField
}
aunque me cree todos los JTextField, al tener el mismo nombre solo me deja consultar y modificar el ultimo.
yo quiero hacer algo parecido a esto:
Código:
for(int fila=0; fila<3; fila++){
       String s= "d" + fila;
mostrar(s);
}
pero en vez de que haga: -> mostrar(s) <- quiero crear un nuevo JTextField que tenga como nombre s. no se si me habre explicado algo mejor... muchas gracias por contestar
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: JTextField con nombres que varien
« Respuesta #3 en: 17 Octubre 2010, 21:17 pm »

pero si pongo
Código:
for(int filas = 0; filas < 15; filas++) {
   JTextField nombre = new JTextField
}
aunque me cree todos los JTextField, al tener el mismo nombre solo me deja consultar y modificar el ultimo.
yo quiero hacer algo parecido a esto:
Código:
for(int fila=0; fila<3; fila++){
       String s= "d" + fila;
mostrar(s);
}
Por eso he sugerido que lo creases sin encapsularlo en un objeto :)

Saludos
pero en vez de que haga: -> mostrar(s) <- quiero crear un nuevo JTextField que tenga como nombre s. no se si me habre explicado algo mejor... muchas gracias por contestar
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: JTextField con nombres que varien
« Respuesta #4 en: 20 Octubre 2010, 04:41 am »

Hola, creo que intentas hacer eso.

Código
  1. import javax.swing.JFrame;
  2. import java.awt.event.ActionListener;
  3. import javax.swing.JOptionPane;
  4. import javax.swing.JTextField;
  5. import java.awt.event.ActionEvent;
  6. import javax.swing.JPanel;
  7. import java.awt.GridLayout;
  8. import java.awt.event.WindowAdapter;
  9. import java.awt.event.WindowEvent;
  10. import java.awt.FlowLayout;
  11. import javax.swing.WindowConstants;
  12. import java.awt.Dimension;
  13.  
  14. public class DemoJTextField extends JFrame implements ActionListener {
  15.  
  16. private int n;
  17. private JPanel panel;
  18.  
  19.    public static void main(String[] args) {
  20. DemoJTextField djtf = new DemoJTextField();
  21. djtf.setVisible(true);
  22. djtf.setLocationRelativeTo(null);
  23.    }
  24.  
  25.    public DemoJTextField() {
  26.        initComponents();
  27.    }
  28.  
  29.    private void initComponents() {
  30.  
  31.        panel = new JPanel();
  32.  
  33.        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  34.        setTitle("JTextFields");
  35.        setResizable(false);
  36.        getContentPane().setLayout(new FlowLayout());
  37.  
  38.        panel.setPreferredSize(new Dimension(500, 500));
  39.  
  40.        int n = Integer.parseInt(JOptionPane.showInputDialog(null,"Ingresa un numero entero","Entrada",1));
  41.  
  42.        panel.setLayout(new GridLayout(n, n));
  43.  
  44.     JTextField campo [][] = new JTextField[n][n];
  45.  
  46.     for(int i=0;i<n;i++) {
  47.     for(int j=0;j<n;j++) {
  48.     campo[i][j]=new JTextField();
  49.     //campo[i][j].setText("JTextField"+i +j);
  50.     setNombreJTextField(campo, i, j);
  51.     campo[i][j].addActionListener(this);
  52.     panel.add(campo[i][j]);
  53.     }
  54.     }
  55.  
  56.        getContentPane().add(panel);
  57.        pack();
  58.    }
  59.  
  60.    private void setNombreJTextField(JTextField campo[][], int i, int j) {
  61.     String nombreJTF="";
  62.     try {
  63.     nombreJTF = JOptionPane.showInputDialog(null,"Escriba un nombre para el JTF","Nombre JTF",1);
  64.     if((nombreJTF!= null) && (nombreJTF.length() > 0)){
  65.     campo[i][j].setText(nombreJTF);
  66.     }
  67.  
  68.     }
  69.     catch(Exception e) {
  70.     e.printStackTrace();
  71.     }
  72.  
  73.    }    
  74.  
  75.    public void actionPerformed(ActionEvent e) {
  76.     System.out.println(e.getActionCommand());
  77. }
  78. }
  79.  

Le faltan muchas cosas, como:
Validar si se introdujo un dato y si ese dato es entero.
En caso de que tú quieras colocar los nombres a los JTF, verificar que no existan nombres repetidos.


Espero que te sirva.

Saludos.
En línea

abc
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: JTextField con nombres que varien
« Respuesta #5 en: 20 Octubre 2010, 10:18 am »

No es posible lo que quieres hacer.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
JLabel y JTextField demasiado pequeños.
Java
MauroMasciar 5 6,065 Último mensaje 15 Marzo 2011, 19:10 pm
por MauroMasciar
filtrar Texto en un JTable conectado a un BD con un JButton y un JTextField?
Java
hack-4-life 2 8,823 Último mensaje 21 Marzo 2011, 04:35 am
por hack-4-life
pasar de una JTextField
Java
mapers 6 11,769 Último mensaje 10 Abril 2011, 02:07 am
por Shell Root
capturar valor en un Jtextfield
Java
mapers 5 29,577 Último mensaje 3 Abril 2011, 07:59 am
por mapers
Ayuda JTextField
Java
charmedever 1 2,482 Último mensaje 10 Julio 2012, 06:32 am
por leogtz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines