ui
Class Editeur

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by ui.EditeurBraille
                          extended by ui.Editeur
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ComponentListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.CaretListener, javax.swing.event.ChangeListener, javax.swing.event.DocumentListener, javax.swing.event.UndoableEditListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants, TextSender

public class Editeur
extends EditeurBraille
implements javax.swing.event.ChangeListener, javax.swing.event.CaretListener

Cette classe de l'interface graphique permet d'afficher le fichier transcrit et d'intéragir avec lui (édition, mode perkins, etc.).

Author:
Bruno Mascret
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JButton bt1erePage
          JButton pour afficher la première page
private  javax.swing.JButton btLastPage
          JButton pour afficher la dernière page
private  javax.swing.JButton btPagePrec
          JButton pour afficher la page précédente
private  javax.swing.JButton btPageSuiv
          JButton pour afficher la page suivante
private  javax.swing.JSpinner jsPage
          JSpinner indiquant le numéro de page actuellement affiché
private  javax.swing.JTextField ligneRes
          la zone secondaire d'affichage (affiche la ligne en cours dans la police secondaire)
private  int longueurLigne
          longueur de la ligne braille
private  int pageActu
          la page actuellement affichée
private  java.util.ArrayList<javax.swing.text.StyledDocument> pages
          les différentes pages du documents
private  double proportionPanneauAffichage
          Rapport entre la taille du panneau d'affichage celle de la fenêtre
private static long serialVersionUID
          Pour la sérialisation (non utilisé)
private  javax.swing.SpinnerNumberModel spinMod
          Le modèle pour le JSpinner jsPage
 
Fields inherited from class ui.EditeurBraille
btEmbosser, btEnregistrer, btEnregistrersous, btFermer, btRedo, btUndo, embosseur, encodage, enModif, fichier, gestErreur, jcbPerkins, lesBoutons, lFichier, message, modif, nbTouches, panneauAffichage, positionCurseur, ptPerkins, resultat, scrollRes, tableBraille, tabPoint, tailleCaractere, undoMng
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Editeur(int taille, Embosseur emb, GestionnaireErreur g)
          Construit un objet Editeur
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Implémente la méthode actionPerformed d'ActionListener (héritée de EditeurBaille) Gère les actions des boutons et met à jour l'InputMap du JTextPane resultat en fonction de l'état du JCheckBox jcbPerkins
 void afficheFichier(java.lang.String nomFichier, java.lang.String police, int taillePolice)
          Affiche le fichier dans le JTextPane
 void afficheFichier(java.lang.String nomFichier, java.lang.String police, int taillePolice, java.lang.String police2, int taillePolice2)
          Affiche le fichier dans le JTextPane resultat et configure la ligne secondaire
 void caretUpdate(javax.swing.event.CaretEvent ce)
          Méthode redéfinie de CaretListener Si ligne secondaire (ligneRes) présente, charge le contenu de la ligne de résultat dans la ligne secondaire, avec le curseur en position Vérifie la position du curseur dans résultat
private  void changePage(int newPage, boolean debut)
          Affiche la page newPage dans le JTextPane resultat
 void componentResized(java.awt.event.ComponentEvent arg0)
          Méthode redéfinie de ComponentListener (héritée de EditeurBaille) Mis à jour de l'affichage lors du redimensionement
 java.lang.String getText()
          Renvoie le texte contenu dans les pages du document
private  java.lang.String getText(boolean[] p)
          Renvoie le texte contenu dans les pages du tableau p
 void insertUpdate(javax.swing.event.DocumentEvent de)
          Méthode redéfinie de DocumentListener (héritée de EditeurBaille) Affiche un message si le test area est modifié
 void keyPressed(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener (héritée de EditeurBraille) Gère la navigation L'affichage est réalisé dans la méthode keyReleased
private  void majLigneRes()
          Mise à jour de la ligne secondaire
 void paint(java.awt.Graphics g)
          Méthode redéfinie de JFrame met à jour les dimensions du JTextPane avant de faire le paint()
 void removeUpdate(javax.swing.event.DocumentEvent de)
          Rédéfinie removeUpdate de DocumentListener (héritée de EditeurBaille)
private  void repaintResultat()
          Recalcule la taille de resultat pour que le JTextPane prenne le maximum de place en hauteur mais conserve le nombre de caractères de la ligne braille en longueur
 void setAfficheLigneSecondaire(boolean b)
          Méthode d'accès, rend visible la ligne secondaire de l'éditeur
 void stateChanged(javax.swing.event.ChangeEvent ce)
          Redéfinie stateChanged de ChangeListener (héritée de EditeurBaille) Change la page courante
private  void verifLinesCountChange()
          gère les ajout et suppression de lignes pour la mise en page
 
Methods inherited from class ui.EditeurBraille
ajouteListenerDoc, changedUpdate, componentHidden, componentMoved, componentShown, enregistrerFichier, focusGained, focusLost, getOrigine, initialiseMap, keyReleased, keyTyped, setEncodage, setFichier, setTableBraille, undoableEditHappened, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Pour la sérialisation (non utilisé)

See Also:
Constant Field Values

pages

private java.util.ArrayList<javax.swing.text.StyledDocument> pages
les différentes pages du documents


pageActu

private int pageActu
la page actuellement affichée


ligneRes

private javax.swing.JTextField ligneRes
la zone secondaire d'affichage (affiche la ligne en cours dans la police secondaire)


bt1erePage

private javax.swing.JButton bt1erePage
JButton pour afficher la première page


btPageSuiv

private javax.swing.JButton btPageSuiv
JButton pour afficher la page suivante


btPagePrec

private javax.swing.JButton btPagePrec
JButton pour afficher la page précédente


btLastPage

private javax.swing.JButton btLastPage
JButton pour afficher la dernière page


jsPage

private javax.swing.JSpinner jsPage
JSpinner indiquant le numéro de page actuellement affiché


spinMod

private javax.swing.SpinnerNumberModel spinMod
Le modèle pour le JSpinner jsPage


longueurLigne

private int longueurLigne
longueur de la ligne braille


proportionPanneauAffichage

private double proportionPanneauAffichage
Rapport entre la taille du panneau d'affichage celle de la fenêtre

Constructor Detail

Editeur

public Editeur(int taille,
               Embosseur emb,
               GestionnaireErreur g)
Construit un objet Editeur

Parameters:
taille - la longueur de la ligne braille
emb - l'objet Embosseur à utiliser pour l'embossage
g - instance de GestionnaireErreur
Method Detail

setAfficheLigneSecondaire

public void setAfficheLigneSecondaire(boolean b)
Méthode d'accès, rend visible la ligne secondaire de l'éditeur

Parameters:
b - affiche ligneRes si true

afficheFichier

public void afficheFichier(java.lang.String nomFichier,
                           java.lang.String police,
                           int taillePolice,
                           java.lang.String police2,
                           int taillePolice2)
Affiche le fichier dans le JTextPane resultat et configure la ligne secondaire

Parameters:
nomFichier - nom du fichier transcrit
police - police principale
taillePolice - taille de la police principale
police2 - police secondaire
taillePolice2 - taille de la police secondaire

afficheFichier

public void afficheFichier(java.lang.String nomFichier,
                           java.lang.String police,
                           int taillePolice)
Affiche le fichier dans le JTextPane

Parameters:
nomFichier - nom du fichier transcrit
police - police principale
taillePolice - taille de la police principale

getText

public java.lang.String getText()
Renvoie le texte contenu dans les pages du document

Specified by:
getText in interface TextSender
Specified by:
getText in class EditeurBraille
Returns:
Le texte contenu dans les pages du document
See Also:
TextSender.getText()

getText

private java.lang.String getText(boolean[] p)
Renvoie le texte contenu dans les pages du tableau p

Parameters:
p - tableau des pages à traiter
Returns:
le texte contenu dans les pages du tableau p

changePage

private void changePage(int newPage,
                        boolean debut)
Affiche la page newPage dans le JTextPane resultat

Parameters:
newPage - le numéro de la page à afficher (commence à 0)
debut - vrai si il faut placer le curseur au début du texte

majLigneRes

private void majLigneRes()
Mise à jour de la ligne secondaire


repaintResultat

private void repaintResultat()
Recalcule la taille de resultat pour que le JTextPane prenne le maximum de place en hauteur mais conserve le nombre de caractères de la ligne braille en longueur


componentResized

public void componentResized(java.awt.event.ComponentEvent arg0)
Méthode redéfinie de ComponentListener (héritée de EditeurBaille) Mis à jour de l'affichage lors du redimensionement

Specified by:
componentResized in interface java.awt.event.ComponentListener
Overrides:
componentResized in class EditeurBraille
Parameters:
arg0 - Le ComponentEvent

paint

public void paint(java.awt.Graphics g)
Méthode redéfinie de JFrame met à jour les dimensions du JTextPane avant de faire le paint()

Overrides:
paint in class java.awt.Window
Parameters:
g - L'objet Graphics

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener (héritée de EditeurBraille) Gère la navigation L'affichage est réalisé dans la méthode keyReleased

Specified by:
keyPressed in interface java.awt.event.KeyListener
Overrides:
keyPressed in class EditeurBraille
Parameters:
e - L'objet KeyEvent intercepté

caretUpdate

public void caretUpdate(javax.swing.event.CaretEvent ce)
Méthode redéfinie de CaretListener Si ligne secondaire (ligneRes) présente, charge le contenu de la ligne de résultat dans la ligne secondaire, avec le curseur en position Vérifie la position du curseur dans résultat

Specified by:
caretUpdate in interface javax.swing.event.CaretListener
Parameters:
ce - Le CaretEvent

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent de)
Méthode redéfinie de DocumentListener (héritée de EditeurBaille) Affiche un message si le test area est modifié

Specified by:
insertUpdate in interface javax.swing.event.DocumentListener
Overrides:
insertUpdate in class EditeurBraille
See Also:
DocumentListener.insertUpdate(javax.swing.event.DocumentEvent)

verifLinesCountChange

private void verifLinesCountChange()
                            throws javax.swing.text.BadLocationException
gère les ajout et suppression de lignes pour la mise en page

Throws:
javax.swing.text.BadLocationException - erreur de positionnement dans EditeurBraille.resultat

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent de)
Rédéfinie removeUpdate de DocumentListener (héritée de EditeurBaille)

Specified by:
removeUpdate in interface javax.swing.event.DocumentListener
Overrides:
removeUpdate in class EditeurBraille
See Also:
DocumentListener.removeUpdate(javax.swing.event.DocumentEvent)

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent ce)
Redéfinie stateChanged de ChangeListener (héritée de EditeurBaille) Change la page courante

Specified by:
stateChanged in interface javax.swing.event.ChangeListener
See Also:
ChangeListener.stateChanged(javax.swing.event.ChangeEvent)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Implémente la méthode actionPerformed d'ActionListener (héritée de EditeurBaille) Gère les actions des boutons et met à jour l'InputMap du JTextPane resultat en fonction de l'état du JCheckBox jcbPerkins

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class EditeurBraille
Parameters:
evt - l'objet ActionEvent