1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
public class Fenetre1 extends JFrame {
public Fenetre1(DataModel datamodel) {
super("FENETRE 1");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.BASELINE, GridBagConstraints.NONE, new Insets(2, 2, 2, 2), 0, 0);
panel.add(new JLabel("Nom : "), gbc);
gbc.gridy=1;
panel.add(new JLabel("Prénom : "), gbc);
JTextField fieldPrenom = new JTextField();
gbc.gridx=1;
gbc.weightx=1;
gbc.fill=GridBagConstraints.HORIZONTAL;
panel.add(fieldPrenom, gbc);
JTextField fieldNom = new JTextField();
gbc.gridy=0;
panel.add(fieldNom, gbc);
PropertyChangeListener nomChangeListener = e-> fieldNom.setText(datamodel.getNom());
PropertyChangeListener prenomChangeListener = e-> fieldPrenom.setText(datamodel.getPrenom());
datamodel.addPropertyChangeListener(DataModel.PROP_NOM, nomChangeListener);
datamodel.addPropertyChangeListener(DataModel.PROP_PRENOM, prenomChangeListener);
fieldNom.setText(datamodel.getNom());
fieldNom.addActionListener(e-> datamodel.setNom(fieldNom.getText()));
fieldPrenom.setText(datamodel.getPrenom());
fieldPrenom.addActionListener(e-> datamodel.setPrenom(fieldPrenom.getText()));
addWindowListener(new WindowAdapter() {
public void windowClosed(java.awt.event.WindowEvent e) {
datamodel.removePropertyChangeListener(DataModel.PROP_NOM, nomChangeListener);
datamodel.removePropertyChangeListener(DataModel.PROP_PRENOM, nomChangeListener);
};
});
add(panel);
pack();
setLocationRelativeTo(null);
}
} |
Partager