/* Jaxe - Editeur XML en Java Copyright (C) 2002 Observatoire de Paris-Meudon Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier conformément aux dispositions de la Licence Publique Générale GNU, telle que publiée par la Free Software Foundation ; version 2 de la licence, ou encore (à votre choix) toute version ultérieure. Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION A UN OBJET PARTICULIER. Pour plus de détail, voir la Licence Publique Générale GNU . Vous devez avoir reçu un exemplaire de la Licence Publique Générale GNU en même temps que ce programme ; si ce n'est pas le cas, écrivez à la Free Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, Etats-Unis. */ package jaxe; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.Hashtable; import javax.swing.Action; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.DefaultEditorKit; import javax.swing.text.JTextComponent; import org.w3c.dom.DOMException; import org.w3c.dom.Element; /** * Dialogue de modification des attributs d'un élément */ public class DialogueAttributs extends JDialog implements ActionListener, KeyListener, DocumentListener { JComponent[] champs; String[] titres; String[] defauts; boolean valide = false; Element defbalise; Element el; JFrame jframe; JaxeDocument doc; ArrayList latt; // de Element public DialogueAttributs(JFrame jframe, JaxeDocument doc, String titre, Element defbalise, Element el) { super(jframe, titre, true); this.jframe = jframe; this.doc = doc; this.defbalise = defbalise; this.el = el; latt = doc.cfg.listeAttributs(defbalise); int natt = latt.size(); titres = new String[natt]; champs = new JComponent[natt]; defauts = new String[natt]; for (int i=0; i 0) { JComboBox popup = new JComboBox(); champs[i] = popup; if (!doc.cfg.estObligatoire(att) && defauts[i] == null) popup.addItem(""); for (int j=0; j à faire: tester si setVisible(true) marche aussi bien return(valide); } public String[] lireReponses() { String[] rep = new String[champs.length]; for (int i=0; i