Problemas de posicionamiento / diseño de JTextField

He estado trabajando en una ventana de diálogo para una aplicación de escritorio que estoy desarrollando actualmente. El cuadro de diálogo debe tener un número predeterminado de campos de texto (en otras palabras, variable), pero encontré un error extraño al codificar la parte de inicialización del código: cuando se inicializan los componentes JTextField, el último decide ocupar todo ventana. He intentado muchas y extrañas formas de cambiar la forma en que se agrega a la ventana, pero sigue haciéndolo sin importar qué (por cierto, configuro los textos predeterminados en los índices de los campos para que sepa que siempre es el último). Aquí está el código:

package com.main;

import java.awt.EventQueue;
import java.awt.TextField;

import javax.swing.JFrame;

public class classAddingDialog extends startingMenuWindow {

    private JFrame frame1;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    classAddingDialog window = new classAddingDialog();
                    window.frame1.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    public classAddingDialog() {
        initialize();
    }

    private void initialize() {
        frame1 = new JFrame();
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        int count = 18,i;                                                                             //startingMenuWindow.countForNewClass;
        frame1.setBounds(100, 100, 450, 20+50*count/2+50);
        TextField[] nameInputs=new TextField[count];

        for(i=0;i<count;i++) {
            nameInputs[i]=new TextField();
            if(i<Math.ceil((double) count/2)) {
                nameInputs[i].setBounds(10, 10+50*i, 100, 30);
            }else {
                nameInputs[i].setBounds(180, (int) (10+50*(i-Math.ceil((double) count/2))), 100, 30);
            }
            nameInputs[i].setText(Integer.toString(i));
            frame1.add(nameInputs[i]);
        }
    }
}

Tampoco se esfuerce por verificar la posición y los límites del último JTextField, ya lo hice y el

nameInputs[i].getBounds();

La función devuelve la posición correcta (donde debería estar), pero en realidad solo cubre toda la ventana.

Si alguien sabe cuál es el problema, dígame. Gracias por adelantado.

Respuesta 1

Error Mis códigos Hice un programa que pregunta el nombre completo, la dirección, etc. Quiero que el programa detecte si dos nombres completos son iguales. Ya tengo la instrucción if else que detecta si el nombre completo es el mismo ...

He generado una clase de usuario que incluye el nombre y el apellido. Quiero preguntar cómo puedo generar diferentes nombres aleatorios usando el generador aleatorio. import java.util.ArrayList; importar ...

Quiero enviar trabajos de Spark de jarra por lotes utilizando la API programática livy, como usar lotes de API de descanso, tengo los datos json {"className": "org.apache.spark.examples.SparkPi", "queue": "default",. ..

Acabo de programar un programa que tiene un JFrame que contiene una matriz de JLabels. La matriz obtiene la posición de los JLabel individuales asignados por un bucle for: for (int i = 0; i <label_entries.length; i ++) {...