Comment mettre l'accent sur certains component swing jtextfield à l'intérieur de JOptionPane lors de la création?

Je veux mettre le focus sur un component swing jtextfield qui est passé à la JOptionPane comme Objet du Message. Voici mon code (je veux l'accent sur txt2, mais l'accent est toujours sur txt1):

import java.awt.*;
import java.util.*;
import javax.swing.*;
public class TextArea extends JPanel
{
    private JTextArea txt1 = new JTextArea();
    private JTextArea txt2 = new JTextArea();
    public TextArea()
    {
        setLayout(null);
        setPreferredSize(new Dimension(200,100));
        txt1.setBounds (20, 20, 220, 20);
        txt2.setBounds (20, 45, 220, 20);
        txt1.setText("Text Field #1");
        txt2.setText("Text Field #2");
        add(txt1);
        add(txt2);
        txt2.requestFocus();
    }
    private void display()
    {
        Object[] options = {this};
        JOptionPane pane = new JOptionPane();
        pane.showOptionDialog(null, null, "Title", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, txt2);
    }
    public static void main(String[] args)
    {
        new TextArea().display();
    }
}
Je n'ai pas vu ce type de JOptionPane utilisé de cette manière, et je ne suis pas sûr que c'est la bonne façon de le faire. pourquoi ne pas utiliser un JDialog?
Il n'y a rien de mal avec cette approche. Il enregistre de réinventer la roue et d'en créer une boîte de dialogue personnaliser. Tout ce que vous devez faire est de créer le panneau personnalisé.
Rob, je suis en désaccord que si vous regardez de près à son code, il semble que très impair (au moins pour moi) qu'il est l'ajout de son Composite dans l'Objet[] options de la variable (le 7e paramètre) de la JOptionPane showOptionDialog méthode, et non dans la variable d'Objet (la deuxième variable). Avez-vous fait de cette manière? Je sais que je n'ai pas.
Fouad, je suis déçu, vous avez pris la solution basée sur le posté code. Il montre que vous venez de copier des solutions plutôt que de prendre le temps de comprendre les autres solutions. Je vous ai fourni avec une simple solution en ligne que vous pouvez utiliser sans sous-classement du composant. Des solutions réutilisables sont généralement préférées aux solutions personnalisées. Vous ne'tlearn par la copie des solutions, de vous apprendre par la compréhension de la des suggestions.
désolé les gars, j'ai été seulement préoccupés par la façon dont je peux mettre l'accent sur certains component swing jtextfield et j'ai écrit ceci (SSCCE) rapidement

OriginalL'auteur Eng.Fouad | 2011-06-25