Class GraphJEditor

  • All Implemented Interfaces:
    GraphListener, ImageReader, java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.FilenameFilter, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.table.TableModel, javax.swing.WindowConstants

    public class GraphJEditor
    extends javax.swing.JFrame
    implements java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.FilenameFilter, ImageReader, GraphListener, javax.swing.table.TableModel, java.lang.Runnable
    Un editor per grafi
    Version:
    4.5 1/6/14 inserito cambio di lingua nei menu e nelle richieste 30/6/14 inserita la visualizzazione della matrice 13/2/16 corretta la memorizzazione dello spessore di default 17/10/16 corretto la modifica dello spessore degli archi attivato il funzionamento da server 12/4/18 corretto alcune voci del cambio di lingua del menu' 23/4/18 corretto l'inserimento dopo puntamento quando il pannello e' zoommato aggiunto il comportamento adattivo e la possibilità di fissare i nodi nell'adattamento e negli spostamenti multipli 30/1/19 corretto la ripresa del servizio come server 4/2/19 corretto i bordi bianchi della immagini salvate 6/2/19 corretto la chiusura del servizio come server alla chiusura della finestra corretto il primo aggiornamento della lingua 12/2/19 sistemato il default di fissaggio dei nodi 27/5/19 aggiunta la voce di menù per la selezione/deselezione di tutti i nodi
    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, java.awt.Window.Type
      • 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

      • Fields inherited from class javax.swing.JFrame

        accessibleContext, 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 java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      GraphJEditor()
      Crea un GraphJEditor
    • Method Summary

      Modifier and Type Method Description
      boolean accept​(java.io.File dir, java.lang.String name)
      Filtra i files da presentare
      void actionPerformed​(java.awt.event.ActionEvent ae)
      Esegue le azioni attivate da un evento
      void addTableModelListener​(javax.swing.event.TableModelListener l)
      Adds a listener to the list that is notified each time a change to the data model occurs.
      void arcAdded​(GraphEvent ge)
      invocata quando un arco viene aggiunto
      void arcRemoved​(GraphEvent ge)
      invocata quando un arco viene rimosso
      void arcSelected​(GraphEvent ge)
      Permette di selezionare un colore tramite un JColorChooser private Color inputColor() { return JColorChooser.showDialog(this,"Scegli un colore",gp.getColor()); } /*************** invocata quando un arco viene selezionato
      void changed​(GraphEvent ge)
      invocata quando il pannello viene modificato
      java.lang.Class<?> getColumnClass​(int columnIndex)
      Returns the most specific superclass for all the cell values in the column.
      int getColumnCount()
      Returns the number of columns in the model.
      java.lang.String getColumnName​(int columnIndex)
      Returns the name of the column at columnIndex.
      java.awt.Image getImage​(java.lang.String ims)
      Ritorna una immagine
      int getRowCount()
      Returns the number of rows in the model.
      java.lang.Object getValueAt​(int rowIndex, int columnIndex)
      Returns the value for the cell at columnIndex and rowIndex.
      boolean isCellEditable​(int rowIndex, int columnIndex)
      Returns true if the cell at rowIndex and columnIndex is editable.
      static void main​(java.lang.String[] a)
      Il metodo di lancio dell'applicazione
      void mouseClicked​(java.awt.event.MouseEvent e)
      Gestisce l'evento del click sul mouse
      void mouseDragged​(java.awt.event.MouseEvent e)
      Gestisce l'evento del trasinamento del mouse
      void mouseEntered​(java.awt.event.MouseEvent e)
      Gestisce l'evento dell'entrata del mouse
      void mouseExited​(java.awt.event.MouseEvent e)
      Gestisce l'evento dell'uscita del mouse
      void mouseMoved​(java.awt.event.MouseEvent e)
      Gestisce l'evento del movimento del mouse
      void mousePressed​(java.awt.event.MouseEvent e)
      Gestisce l'evento della pressione sul mouse
      void mouseReleased​(java.awt.event.MouseEvent e)
      Gestisce l'evento del rilascio del mouse
      void moved​(GraphEvent ge)
      invocata quando il pannello viene spostato
      void nodeAdded​(GraphEvent ge)
      invocata quando un nodo viene aggiunto
      void nodeRemoved​(GraphEvent ge)
      invocata quando un nodo viene rimosso
      void nodeSelected​(GraphEvent ge)
      invocata quando un nodo viene selezionato
      void refreshValues()
      Aggiorna i cambiamenti
      void removeTableModelListener​(javax.swing.event.TableModelListener l)
      Removes a listener from the list that is notified each time a change to the data model occurs.
      void run()
      crea un nuovo manager per il client che viene accettato
      void set​(GraphEvent ge)
      invocata quando vengono modificati i default del pannello
      void setMenuText​(javax.swing.JMenuItem jmi, java.lang.String text)
      Modifica il testo di una voce di menu'
      void setValueAt​(java.lang.Object aValue, int rowIndex, int columnIndex)
      Sets the value in the cell at columnIndex and rowIndex to aValue.
      void startServe()
      Comincia il servizio sulla porta fornita (7823 di default) dell’host indicato
      void stopServe()
      Interrompe il servizio sull'host
      void zoomed​(GraphEvent ge)
      invocata quando viene fatto uno zoom sul pannello
      • 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, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, 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
    • Constructor Detail

      • GraphJEditor

        public GraphJEditor()
        Crea un GraphJEditor
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent ae)
        Esegue le azioni attivate da un evento
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Parameters:
        ae - l'evento gestito
      • refreshValues

        public void refreshValues()
        Aggiorna i cambiamenti
      • getImage

        public java.awt.Image getImage​(java.lang.String ims)
        Ritorna una immagine
        Specified by:
        getImage in interface ImageReader
        Parameters:
        ims - nome dell'immagine da ritornare
        Returns:
        l'immagine letta
      • accept

        public boolean accept​(java.io.File dir,
                              java.lang.String name)
        Filtra i files da presentare
        Specified by:
        accept in interface java.io.FilenameFilter
        Parameters:
        dir - la cartella che viene visualizzata
        name - il nome del file indicato
        Returns:
        ritorna true se il file indicato e' da presentare, false altrimenti
      • addTableModelListener

        public void addTableModelListener​(javax.swing.event.TableModelListener l)
        Adds a listener to the list that is notified each time a change to the data model occurs.
        Specified by:
        addTableModelListener in interface javax.swing.table.TableModel
      • getColumnClass

        public java.lang.Class<?> getColumnClass​(int columnIndex)
        Returns the most specific superclass for all the cell values in the column.
        Specified by:
        getColumnClass in interface javax.swing.table.TableModel
      • getColumnCount

        public int getColumnCount()
        Returns the number of columns in the model.
        Specified by:
        getColumnCount in interface javax.swing.table.TableModel
      • getColumnName

        public java.lang.String getColumnName​(int columnIndex)
        Returns the name of the column at columnIndex.
        Specified by:
        getColumnName in interface javax.swing.table.TableModel
      • getRowCount

        public int getRowCount()
        Returns the number of rows in the model.
        Specified by:
        getRowCount in interface javax.swing.table.TableModel
      • getValueAt

        public java.lang.Object getValueAt​(int rowIndex,
                                           int columnIndex)
        Returns the value for the cell at columnIndex and rowIndex.
        Specified by:
        getValueAt in interface javax.swing.table.TableModel
      • isCellEditable

        public boolean isCellEditable​(int rowIndex,
                                      int columnIndex)
        Returns true if the cell at rowIndex and columnIndex is editable.
        Specified by:
        isCellEditable in interface javax.swing.table.TableModel
      • removeTableModelListener

        public void removeTableModelListener​(javax.swing.event.TableModelListener l)
        Removes a listener from the list that is notified each time a change to the data model occurs.
        Specified by:
        removeTableModelListener in interface javax.swing.table.TableModel
      • setValueAt

        public void setValueAt​(java.lang.Object aValue,
                               int rowIndex,
                               int columnIndex)
        Sets the value in the cell at columnIndex and rowIndex to aValue.
        Specified by:
        setValueAt in interface javax.swing.table.TableModel
      • setMenuText

        public void setMenuText​(javax.swing.JMenuItem jmi,
                                java.lang.String text)
        Modifica il testo di una voce di menu'
        Parameters:
        jmi - la voce di menu'
        text - il nuovo testo della voce di menu'
      • arcSelected

        public void arcSelected​(GraphEvent ge)
        Permette di selezionare un colore tramite un JColorChooser private Color inputColor() { return JColorChooser.showDialog(this,"Scegli un colore",gp.getColor()); } /*************** invocata quando un arco viene selezionato
        Specified by:
        arcSelected in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • nodeSelected

        public void nodeSelected​(GraphEvent ge)
        invocata quando un nodo viene selezionato
        Specified by:
        nodeSelected in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • arcAdded

        public void arcAdded​(GraphEvent ge)
        invocata quando un arco viene aggiunto
        Specified by:
        arcAdded in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • nodeAdded

        public void nodeAdded​(GraphEvent ge)
        invocata quando un nodo viene aggiunto
        Specified by:
        nodeAdded in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • arcRemoved

        public void arcRemoved​(GraphEvent ge)
        invocata quando un arco viene rimosso
        Specified by:
        arcRemoved in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • nodeRemoved

        public void nodeRemoved​(GraphEvent ge)
        invocata quando un nodo viene rimosso
        Specified by:
        nodeRemoved in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • zoomed

        public void zoomed​(GraphEvent ge)
        invocata quando viene fatto uno zoom sul pannello
        Specified by:
        zoomed in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • moved

        public void moved​(GraphEvent ge)
        invocata quando il pannello viene spostato
        Specified by:
        moved in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • changed

        public void changed​(GraphEvent ge)
        invocata quando il pannello viene modificato
        Specified by:
        changed in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • set

        public void set​(GraphEvent ge)
        invocata quando vengono modificati i default del pannello
        Specified by:
        set in interface GraphListener
        Parameters:
        ge - il descrittore dell'evento
      • startServe

        public void startServe()
        Comincia il servizio sulla porta fornita (7823 di default) dell’host indicato
      • run

        public void run()
        crea un nuovo manager per il client che viene accettato
        Specified by:
        run in interface java.lang.Runnable
      • stopServe

        public void stopServe()
        Interrompe il servizio sull'host
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        Gestisce l'evento del click sul mouse
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
        Parameters:
        e - l'evento gestito
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        Gestisce l'evento dell'entrata del mouse
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
        Parameters:
        e - l'evento gestito
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        Gestisce l'evento dell'uscita del mouse
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
        Parameters:
        e - l'evento gestito
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        Gestisce l'evento della pressione sul mouse
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
        Parameters:
        e - l'evento gestito
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Gestisce l'evento del rilascio del mouse
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
        Parameters:
        e - l'evento gestito
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Gestisce l'evento del trasinamento del mouse
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
        Parameters:
        e - l'evento gestito
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        Gestisce l'evento del movimento del mouse
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
        Parameters:
        e - l'evento gestito
      • main

        public static void main​(java.lang.String[] a)
        Il metodo di lancio dell'applicazione
        Parameters:
        a - gli argomenti della chiamata