Frage

Ich hoffe, es ist korrekt zu sagen, dass Komponenten in einer GUI wie Jbutton, Jpanel, Jtextfield sind, all das gute Zeug.

Ich möchte ein Textfeld erstellen, das eine Ganzzahl aufnimmt. Anschließend kann eine Sendetaste gedrückt werden und basierend auf der Ganzzahl, die eingegeben wurde, erstellen Sie so viele Textfelder in einem Popup -Fenster oder was auch immer.

Ich habe keine Ahnung, könnte mich jemand in die richtige Richtung bringen?

Das Problem, das ich habe, ist, dass ich keine Ahnung habe, wie ich eine für Schleife erstellen kann, um die GUI -Komponenten zu erstellen. Ich meine, wenn ich eine für Schleife habe und so etwas wie:

print("JTextField num1 = new JTextField()");

In einer für die Schleife erstellt es nur 1 Textfeld, wenn ich viele möchte. Wie erstelle ich allgemein Variablen von jTextfields?

Danke für Ihre Hilfe...

War es hilfreich?

Lösung

Verwenden Sie einen geeigneten LayoutManager (z. B. GridLayout), um Ihre Textfelder zu erstellen und hinzuzufügen.

for (i = 0; i < numberOfTextFields; i++) {
    JTextField textField = new JTextField();
    container.add(textField);
    /* also store textField somewhere else. */
}

Andere Tipps

Probieren Sie so etwas aus:

List<JTextField> nums = new ArrayList<JTextField>();
JTextField tempField;

for (int i = 0; i < 10; i++) {
    tempField = new JTextField();
    jPanel1.add(tempField); // Assuming all JTextFields are on a JPanel
    nums.add(tempField);
}

Vergessen Sie nicht, einen richtigen Layout -Manager für den Container festzulegen. (Jpanel1 In diesem Fall)

Ich würde eine Liste erstellen, um die Textfelder zu speichern, und dann können Sie sie nach Index zurückerhalten. Dann können Sie so viele Felder haben, wie Sie brauchen.

List fields = new ArrayList();

// Create as many elements as you need
for (int i = 0; i < numberOfElements; i++){
  JTextField field = new JTextField();
  // Add the fields to some panel so they are shown in the screen.  
  // I assume that the component is called parent panel
  parentPanel.add(field);

  // Store the component in the list so you can retrieve it later
  fields.add(field);
}

// ...

// When you want to retrieve a particular one:

JTextField field = (JTextField)fields.get( indexToRetrieve );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top