Vous trouverez ci-dessous une maquette du code sur lequel j'ai travaillé.
public class Pane {
private final JPanel pane;
private JPanel namePanel;
private final JTextField panIdField;
public Pane() {
pane = new JPanel();
pane.setLayout(new MigLayout("", "[][grow]", "[][][][][]"));
namePanel = new JPanel();
pane.add(namePanel, "cell 1 1,growx");
panIdField = new JTextField();
pane.add(panIdField, "cell 1 2,growx");
panIdField.setColumns(10);
}
public void replaceNameField(JPanel newNamePanel) {
this.namePanel = newNamePanel;
// Object constraintsForNamePanel =
pane.remove(namePanel);
pane.add(newNamePanel, constraintsForNamePanel);
}
}
Dans Container, il y a la méthode
public void add(Component comp, Object constraints)
Existe-t-il un moyen d'obtenir de manière programmatique le numéro de téléphone de la personne à contacter ? constraints
que nous définissons, comme getConstraints(...)
afin que nous puissions l'utiliser ultérieurement ?
Dans mon code, je veux l'utiliser pour remplacer un ancien composant par un nouveau au même endroit.
Que dois-je faire après
Object constraintsForNamePanel =
pour obtenir les contraintes pour namePanel
.
Actuellement, j'utilise
pane.add(newNamePanel, "cell 1 1,growx");
Cela fonctionne, mais le problème est que j'utilise WindowsBuilder
pour l'interface utilisateur et mon interface utilisateur est susceptible de changer lorsque j'ajoute de nouveaux composants à l'interface utilisateur. pane
et je ne veux pas copier-coller les contraintes.