package action; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Box; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import cXML.node; import fenetres.baliseStyle; import fenetres.create; public class actEvalNombreDePageMaxiOui extends AbstractAction{ { putValue( Action.NAME, "Oui, combien et combien de point?" ); putValue( Action.SHORT_DESCRIPTION, "Evaluer le nombre de page maximal dans le document" ); putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/truemini.png")) ); } /** * */ private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { node nod = (node) fenetres.create.getSelectNode().getUserObject(); int point = 0; int nombrePage = 1; if(nod.getAttributs().get("evalNombreDePageMaxi")!=null) { String valeur = nod.getAttributs().get("evalNombreDePageMaxi"); String A = valeur.substring(0, valeur.lastIndexOf("page")); nombrePage = Integer.valueOf(A); A = valeur.substring(valeur.lastIndexOf("page")+4, valeur.length()); point = Integer.valueOf(A); } JTextField nombrePageField = new JTextField(8); nombrePageField.setText(String.valueOf(nombrePage)); JTextField pointField = new JTextField(8); pointField.setText(String.valueOf(point)); JPanel myPanel = new JPanel(); myPanel.add(new JLabel("Nombre de page maxi :")); myPanel.add(Box.createHorizontalStrut(2)); // a spacer myPanel.add(nombrePageField); myPanel.add(new JLabel("Nombre de point :")); myPanel.add(Box.createHorizontalStrut(2)); // a spacer myPanel.add(pointField); int result = JOptionPane.showConfirmDialog(null, myPanel, "Saisissez le nombre de page maximal", JOptionPane.OK_CANCEL_OPTION); if (result == JOptionPane.OK_OPTION) { try { point = Integer.valueOf(pointField.getText()); nombrePage = Integer.valueOf(nombrePageField.getText()); if(point<=0 && nombrePage<=0) { nod.getAttributs().put("evalNombreDePageMaxi","1page1"); } if(point<=0 && nombrePage>0) { nod.getAttributs().put("evalNombreDePageMaxi",nombrePageField.getText()+"page1"); } if(point>=0 && nombrePage<=0) { nod.getAttributs().put("evalNombreDePageMaxi","1page" + pointField.getText() ); } if(point>=0 && nombrePage>0) { nod.getAttributs().put("evalNombreDePageMaxi",nombrePageField.getText()+"page" + pointField.getText() ); } } catch (Exception e2) { fenetres.create.getTextNodeSelect().setText(baliseStyle.balise()); fenetres.create.getTextNodeSelect().setText("

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

"); } } fenetres.create.getTextNodeSelect().refreshAffichage(nod); } }