package action; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ImageIcon; import javax.swing.JOptionPane; import cXML.node; import fenetres.baliseStyle; import fenetres.create; public class actEvalNumeroAbsoluePageOui extends AbstractAction{ /** * */ private static final long serialVersionUID = 1L; { putValue( Action.NAME, "Oui, combien de point?" ); putValue( Action.SHORT_DESCRIPTION, "Evaluer le numéro absolue de la page" ); putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) ); putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/evalnumeroabsoluepagetruemini.png")) ); } @Override public void actionPerformed(ActionEvent e) { node nod = (node) fenetres.create.getSelectNode().getUserObject(); int point = 0; if(nod.getAttributs().get("evalNumeroAbsoluePage")!=null) { point = Integer.valueOf(nod.getAttributs().get("evalNumeroAbsoluePage")); } String a = JOptionPane.showInputDialog(null,"Quel est le nombre de point?",point); if(a!=null)if(!a.isBlank()){ try { point = Integer.valueOf(a); if(point<=0) { if(nod.getNomElt().equals("page")) nod.supprimeAttribut("evalNumeroAbsoluePage"); if(nod.getNomElt().equals("structurepage")) ajouteAToutesLesPages(nod,0); fenetres.create.getTextNodeSelect().setText(baliseStyle.balise()); fenetres.create.getTextNodeSelect().setText("

Erreur la valeur doit être un nombre entier POSITIF SUPÉRIEUR à zéro.
Cependant,l'attribut evalNumeroAbsoluePage a été supprimé.

"); }else { if(nod.getNomElt().equals("page")) nod.getAttributs().put("evalNumeroAbsoluePage", String.valueOf(point)); if(nod.getNomElt().equals("structurepage")) ajouteAToutesLesPages(nod,point); } } catch (Exception e2) { fenetres.create.getTextNodeSelect().setText(baliseStyle.balise()); fenetres.create.getTextNodeSelect().setText("

Erreur la valeur doit être un nombre entier.
L'attribut n'a pas été modifiée.

"); } } fenetres.create.getTextNodeSelect().refreshAffichage(nod); } private void ajouteAToutesLesPages(node nod,Integer point) { for(int i=0; i < nod.getNodes().size();i++) { if(point>0) { nod.getNodes().get(i).getAttributs().put("evalNumeroAbsoluePage", String.valueOf(point)); }else { nod.getNodes().get(i).supprimeAttribut("evalNumeroAbsoluePage"); } } } }