Comment puis-je créer un réactif de mise en Java Swing

Je suis l'affichage d'une liste de paires clé-valeur dans une balançoire Composite. La clé est affiché dans un JLabel et la Valeur est affichée dans un component swing jtextfield. Il y a assez d'espace sur le panneau d'affichage 1 ou 2 colonnes de paires clé-valeur en fonction de la taille du parent JFrame est. Je voudrais afficher les 2 colonnes de paires clé-valeur, sauf si le panneau est trop petit. Alors je veux passer à une colonne. Est-ce possible dans le Swing sans écrire ma propre mise en page personnalisée manager?

Mettre chaque valeur de la clé de la paire sur son propre panneau et en ajoutant les panneaux à une Disposition de Flux permettrait de faire ce que je veux faire, sauf que les labels ne sont pas alignés les uns avec les autres et les champs de texte ne serait pas aligner les uns avec les autres de sorte qu'il aurait l'air terrible. Est-il une meilleure façon de le faire?

Edit:

Voici à quoi cela allait ressembler. Si le panneau est assez grand, montrent deux colonnes. Sinon afficher une colonne.

2 Colonnes:

   Some Key _______________                Key 2 ________________ 
Another Key _______________      Yet Another Key ________________
      Key 5 _______________                Key 6 ________________

1 Colonne

       Some Key _______________                
          Key 2 _______________ 
    Another Key _______________      
Yet Another Key _______________
          Key 5 _______________                
          Key 6 ________________
1) Fournir de l'ASCII art de l'interface graphique tel qu'il doit apparaître dans la plus petite taille et (si redimensionnable) avec largeur/hauteur. 2) Voir la Imbriqués Exemple de Disposition pour des idées sur la façon de combiner mises à la création de la mise en page.
Thompson L'exemple que j'ai donné à cette question est un exemple de combinaison de modèles.
Vous pouvez utiliser un GroupLayout comme on le voit dans cette réponse. Il y a d'autres solutions pré GroupLayout, mais regardez ce que le premier.

OriginalL'auteur Jay Askren | 2013-11-20