ui
Class EditeurTan

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.EditeurTan
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.DocumentListener, javax.swing.event.UndoableEditListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants, TextSender

public class EditeurTan
extends javax.swing.JFrame
implements java.awt.event.ActionListener, java.awt.event.KeyListener, TextSender, javax.swing.event.DocumentListener, javax.swing.event.UndoableEditListener, java.awt.event.FocusListener

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.JTextPane apercu
          la zone d'affichage d'aperçu en noir du fichier
private  javax.swing.JButton btApercu
          JButton aperçu en noir du texte braille saisi
private  javax.swing.JButton btEmbosser
          JButton pour lancer l'embossage
private  javax.swing.JButton btEnregistrer
          JButton pour enregistrer le fichier
private  javax.swing.JButton btEnregistrersous
          JButton pour enregistrer le fichier
private  javax.swing.JButton btFermer
          JButton pour fermer la fenêtre
private  javax.swing.JButton btNavigateur
          JButton aperçu dans un navigateur
private  javax.swing.JButton btRedo
          JButton pour répéter frappe
private  javax.swing.JButton btUndo
          JButton pour annuler frappe
private  Embosseur embosseur
          Objet embosseur, pour l'embossage bien entendu...
private  java.lang.String encodage
          encodage du fichier transcrit
private  java.lang.String fichier
          L'adresse du fichier transcrit
private  javax.swing.JCheckBox jcbPerkins
          JCheckBoxpour l'activation du mode perkins
private  javax.swing.JPanel lesBoutons
          Le panneau contenant les boutons d'action
private  javax.swing.JLabel lFichier
          le label contenant le nom du fichier transcrit
private  javax.swing.JLabel message
          Jlabel d'information pour l'enregistrement
private  Nat nat
          instance de nat pour lancer les détranscriptions
private  int nbTouches
          nombre de touches pressées lors d'une saisie perkins
private  javax.swing.JPanel panneauAffichage
          le panneau central contenant les éléments à afficher et le scrollPane
private  int positionCurseur
          Position du curseur
private  java.util.Hashtable<java.lang.String,java.lang.String> ptPerkins
          HashTable pour la correspondance entre les caractères braille saisis en mode perkins et leur représentation dans la table braille
private  javax.swing.JTextPane resultat
          la zone d'affichage principale du fichier
private  javax.swing.JScrollPane scrollAp
          le ScrollPane associé au JTextPane apercu
private  javax.swing.JScrollPane scrollRes
          le ScrollPane associé au JTextPane resultat
private static long serialVersionUID
          identifiant par défaut pour la sérialisation (non utilisé dans NAT)
private  java.lang.String tableBraille
          table braille à utiliser pour la saisie perkins
private  boolean[] tabPoint
          tableau destiné à recevoir les codes perkins
private  javax.swing.undo.UndoManager undoMng
          Undo manager
 
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
EditeurTan(Embosseur emb, java.lang.String f, Nat nat)
          Construit un objet Editeur
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Implémente la méthode actionPerformed d'ActionListener 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
private  void afficheNoir()
          Affiche en noir dans apercu la détranscription du texte de resultat
 void changedUpdate(javax.swing.event.DocumentEvent arg0)
          Ne fait rien de plus (non-Javadoc)
private  void checkPerkins()
          Active ou désactive la saisie perkins en fonction de jcbPerkins
private  java.lang.String convertitPoint2Int(java.lang.String s)
          Outil de conversion des entités 123456 par la notation "binaire"
private  void enregistrerFichier()
          Enregistre le fichier
 void focusGained(java.awt.event.FocusEvent arg0)
          Implémente focusGained de Focus Listener positionne le curseur sur le text area
 void focusLost(java.awt.event.FocusEvent arg0)
          Ne fait rien de plus
 java.lang.String getText()
          Renvoie le texte contenu dans resultat
private  boolean initialiseMap()
          Initialise la HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire
 void insertUpdate(javax.swing.event.DocumentEvent de)
          Méthode redéfinie de DocumentListener Affiche un message si le test area est modifié
 void keyPressed(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener Gère la saisie en mode Perkins Gère la navigation L'affichage est réalisé dans la méthode keyReleased
 void keyReleased(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener Gère la saisie en mode Perkins Réalise l'affichage du caractère braille dans le JTextPane resultat
 void keyTyped(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener ne fait rien
 void removeUpdate(javax.swing.event.DocumentEvent de)
          Implémente removeUpdate de DocumentListener
 void setEncodage(java.lang.String enc)
          Méthode d'accès, modifie la valeur de l'encodage
 void setTableBraille(java.lang.String tb)
          Méthode d'accès, indique le nom de la table braille à utiliser
 void undoableEditHappened(javax.swing.event.UndoableEditEvent uee)
          Implémente undoableEditHappened de UndoableEditListener
private  void verifBtEdit()
          Vérifie l'état du manager undo et active ou désactive les boutons undo/redo
 
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, paint, 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
identifiant par défaut pour la sérialisation (non utilisé dans NAT)

See Also:
Constant Field Values

lFichier

private javax.swing.JLabel lFichier
le label contenant le nom du fichier transcrit


panneauAffichage

private javax.swing.JPanel panneauAffichage
le panneau central contenant les éléments à afficher et le scrollPane


resultat

private javax.swing.JTextPane resultat
la zone d'affichage principale du fichier


apercu

private javax.swing.JTextPane apercu
la zone d'affichage d'aperçu en noir du fichier


scrollRes

private javax.swing.JScrollPane scrollRes
le ScrollPane associé au JTextPane resultat


scrollAp

private javax.swing.JScrollPane scrollAp
le ScrollPane associé au JTextPane apercu


lesBoutons

private javax.swing.JPanel lesBoutons
Le panneau contenant les boutons d'action


btEnregistrer

private javax.swing.JButton btEnregistrer
JButton pour enregistrer le fichier


btEnregistrersous

private javax.swing.JButton btEnregistrersous
JButton pour enregistrer le fichier


btFermer

private javax.swing.JButton btFermer
JButton pour fermer la fenêtre


fichier

private java.lang.String fichier
L'adresse du fichier transcrit


encodage

private java.lang.String encodage
encodage du fichier transcrit


message

private javax.swing.JLabel message
Jlabel d'information pour l'enregistrement


tabPoint

private boolean[] tabPoint
tableau destiné à recevoir les codes perkins


jcbPerkins

private javax.swing.JCheckBox jcbPerkins
JCheckBoxpour l'activation du mode perkins


btEmbosser

private javax.swing.JButton btEmbosser
JButton pour lancer l'embossage


btApercu

private javax.swing.JButton btApercu
JButton aperçu en noir du texte braille saisi


btNavigateur

private javax.swing.JButton btNavigateur
JButton aperçu dans un navigateur


nbTouches

private int nbTouches
nombre de touches pressées lors d'une saisie perkins


embosseur

private Embosseur embosseur
Objet embosseur, pour l'embossage bien entendu...


tableBraille

private java.lang.String tableBraille
table braille à utiliser pour la saisie perkins


ptPerkins

private java.util.Hashtable<java.lang.String,java.lang.String> ptPerkins
HashTable pour la correspondance entre les caractères braille saisis en mode perkins et leur représentation dans la table braille


undoMng

private javax.swing.undo.UndoManager undoMng
Undo manager


btUndo

private javax.swing.JButton btUndo
JButton pour annuler frappe


btRedo

private javax.swing.JButton btRedo
JButton pour répéter frappe


positionCurseur

private int positionCurseur
Position du curseur


nat

private Nat nat
instance de nat pour lancer les détranscriptions

Constructor Detail

EditeurTan

public EditeurTan(Embosseur emb,
                  java.lang.String f,
                  Nat nat)
Construit un objet Editeur

Parameters:
emb - l'objet Embosseur à utiliser pour l'embossage
f - adresse du fichier édité
nat - instance de nat pour lancer les détranscriptions
Method Detail

setEncodage

public void setEncodage(java.lang.String enc)
Méthode d'accès, modifie la valeur de l'encodage

Parameters:
enc - valeur pour encodage

setTableBraille

public void setTableBraille(java.lang.String tb)
Méthode d'accès, indique le nom de la table braille à utiliser

Parameters:
tb - valeur pour tableBraille

verifBtEdit

private void verifBtEdit()
Vérifie l'état du manager undo et active ou désactive les boutons undo/redo


enregistrerFichier

private void enregistrerFichier()
Enregistre le fichier


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

afficheNoir

private void afficheNoir()
Affiche en noir dans apercu la détranscription du texte de resultat


initialiseMap

private boolean initialiseMap()
Initialise la HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire

Returns:
true si succès, false si erreur lors du chargement
Throws:
java.lang.NumberFormatException - problème lors de la conversion des entités, la table ne doit pas être valide

convertitPoint2Int

private java.lang.String convertitPoint2Int(java.lang.String s)
Outil de conversion des entités 123456 par la notation "binaire"

Parameters:
s - La chaine d'origine sous forme 123456
Returns:
Une chaine représentant l'entier en base 10 obtenu par conversion binaire

getText

public java.lang.String getText()
Renvoie le texte contenu dans resultat

Specified by:
getText in interface TextSender
Returns:
Le texte contenu dans resultat

keyPressed

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

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

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener Gère la saisie en mode Perkins Réalise l'affichage du caractère braille dans le JTextPane resultat

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - L'objet KeyEvent intercepté

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener ne fait rien

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - Le KeyEvent

insertUpdate

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

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

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent de)
Implémente removeUpdate de DocumentListener

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

undoableEditHappened

public void undoableEditHappened(javax.swing.event.UndoableEditEvent uee)
Implémente undoableEditHappened de UndoableEditListener

Specified by:
undoableEditHappened in interface javax.swing.event.UndoableEditListener
See Also:
UndoableEditListener.undoableEditHappened(javax.swing.event.UndoableEditEvent)

focusGained

public void focusGained(java.awt.event.FocusEvent arg0)
Implémente focusGained de Focus Listener positionne le curseur sur le text area

Specified by:
focusGained in interface java.awt.event.FocusListener
See Also:
FocusListener.focusGained(java.awt.event.FocusEvent)

focusLost

public void focusLost(java.awt.event.FocusEvent arg0)
Ne fait rien de plus

Specified by:
focusLost in interface java.awt.event.FocusListener
See Also:
FocusListener.focusLost(java.awt.event.FocusEvent)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Implémente la méthode actionPerformed d'ActionListener 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
Parameters:
evt - l'objet ActionEvent

checkPerkins

private void checkPerkins()
Active ou désactive la saisie perkins en fonction de jcbPerkins


changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent arg0)
Ne fait rien de plus (non-Javadoc)

Specified by:
changedUpdate in interface javax.swing.event.DocumentListener
See Also:
DocumentListener.changedUpdate(javax.swing.event.DocumentEvent)