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

public class Editeur
extends javax.swing.JFrame
implements java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.ComponentListener

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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JButton btEmbosser
          JButton pour lancer l'embossage
private  javax.swing.JButton btEnregistrer
          JButton pour enregistrer le fichier
private  javax.swing.JButton btFermer
          JButton pour fermer la fenêtre
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.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  javax.swing.JLabel message
          Jlabel d'information pour l'enregistrement
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  double proportionPanneauAffichage
          Rapport entre la taille du panneau d'affichage celle de la fenêtre
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 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  int tailleCaractere
          taille du caractère de la police principale en point (ne fonctionnen qu'avec les polices à chasse fixe
 
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)
          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
 void componentHidden(java.awt.event.ComponentEvent arg0)
          Méthode redéfinie de ComponentListener Ne fait rien
 void componentMoved(java.awt.event.ComponentEvent arg0)
          Méthode redéfinie de ComponentListener Ne fait rien
 void componentResized(java.awt.event.ComponentEvent arg0)
          Méthode redéfinie de ComponentListener 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 componentShown(java.awt.event.ComponentEvent arg0)
          Méthode redéfinie de ComponentListener Ne fait rien
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
private  boolean initialiseMap()
          Initialise la HashMap d'équivalence entre les entités de la forme &pt123456; et leur valeur en binaire
 void keyPressed(java.awt.event.KeyEvent e)
          Méthode redéfinie de KeyListener Gère la saisie en mode Perkins 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 setAfficheLigneSecondaire(boolean b)
          Méthode d'accès, rend visible la ligne secondaire de l'éditeur
 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
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, 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


ligneRes

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


scrollRes

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


lesBoutons

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


btEnregistrer

private javax.swing.JButton btEnregistrer
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


longueurLigne

private int longueurLigne
longueur de la ligne braille


tailleCaractere

private int tailleCaractere
taille du caractère de la police principale en point (ne fonctionnen qu'avec les polices à chasse fixe


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


proportionPanneauAffichage

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


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

Constructor Detail

Editeur

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

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

setEncodage

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


setTableBraille

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


setAfficheLigneSecondaire

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


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

componentHidden

public void componentHidden(java.awt.event.ComponentEvent arg0)
Méthode redéfinie de ComponentListener Ne fait rien

Specified by:
componentHidden in interface java.awt.event.ComponentListener
Parameters:
arg0 - Le ComponentEvent

componentMoved

public void componentMoved(java.awt.event.ComponentEvent arg0)
Méthode redéfinie de ComponentListener Ne fait rien

Specified by:
componentMoved in interface java.awt.event.ComponentListener
Parameters:
arg0 - Le ComponentEvent

componentShown

public void componentShown(java.awt.event.ComponentEvent arg0)
Méthode redéfinie de ComponentListener Ne fait rien

Specified by:
componentShown in interface java.awt.event.ComponentListener
Parameters:
arg0 - Le ComponentEvent

componentResized

public void componentResized(java.awt.event.ComponentEvent arg0)
Méthode redéfinie de ComponentListener 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

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

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Méthode redéfinie de KeyListener Gère la saisie en mode Perkins 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

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

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.io.IOException - problème d'entrée sortie avec la table braille
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