public class GraphJPanel extends javax.swing.JPanel implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.ActionListener, ImageReader
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
(package private) ArcSign[][] |
a |
(package private) java.awt.Image |
bgImage |
(package private) java.lang.String |
bgName |
(package private) static int |
COLOR |
(package private) java.awt.Color |
defaultColor |
(package private) boolean |
defaultFill |
(package private) java.lang.String |
defaultImage |
(package private) java.lang.String |
defaultName |
(package private) int |
defaultShape |
(package private) int |
defaultSize |
(package private) double |
defaultWeight |
(package private) int |
dx |
(package private) int |
dy |
(package private) boolean |
editing |
(package private) static java.awt.Frame |
f
Il frame che contiene il GraphJPanel di prova
|
(package private) static int |
FILL |
(package private) Graph |
g |
(package private) java.util.Vector<GraphListener> |
graphListeners |
(package private) static int |
IMAGE |
(package private) ImageReader |
ir |
(package private) java.awt.event.MouseEvent |
lastEvent |
(package private) boolean |
lineDraw
true se viene evidenziato l'elastico col punto precedentemente clickato, false
|
(package private) int |
linePosX
ascissa del punto di partenza dell'elastico
|
(package private) int |
linePosY
ordinata del punto di partenza dell'elastico
|
(package private) static int |
MAXZOOM |
(package private) static int |
MCOL |
(package private) static int |
MEDIT |
(package private) static int |
MFILE |
(package private) static int |
MINL |
(package private) static int |
MINL1 |
(package private) static int |
MINP |
(package private) static int |
MINP1 |
(package private) static int |
MINZOOM |
(package private) javax.swing.JMenuItem |
mnColSetPU |
(package private) javax.swing.JMenuItem |
mnFillPU |
(package private) javax.swing.JMenuItem |
mnImagePU |
(package private) javax.swing.JMenuItem |
mnMinLPU |
(package private) javax.swing.JMenuItem |
mnMinPPU |
(package private) javax.swing.JPopupMenu |
mnPointPU |
(package private) javax.swing.JMenuItem |
mnRemPU |
(package private) javax.swing.JMenuItem |
mnRenPU |
(package private) javax.swing.JMenuItem |
mnShapePU |
(package private) javax.swing.JMenuItem |
mnSizePU |
(package private) javax.swing.JMenuItem |
mnUnlinkPU |
(package private) javax.swing.JMenuItem |
mnWeightPU |
(package private) javax.swing.JMenuItem |
mnZoomPU |
(package private) boolean |
modified |
(package private) static int |
MSERACH |
(package private) static int |
MZOOM |
(package private) NodeSign[] |
n |
(package private) static int |
NAME |
(package private) int |
oldx |
(package private) int |
oldy |
(package private) int |
operation |
(package private) int |
posx |
(package private) int |
posy |
(package private) static int |
prefSize |
(package private) java.lang.String |
primo |
(package private) java.lang.String[] |
prompt |
(package private) static int |
REN |
(package private) static int |
REN1 |
(package private) int |
selectedNode
Indice del nodo selezionato
|
(package private) static long |
serialVersionUID |
(package private) static int |
SHAPE |
(package private) boolean |
showAxis |
(package private) boolean |
showNames |
(package private) boolean |
showWeights |
(package private) int |
size |
(package private) static int |
SIZE |
(package private) boolean |
sliding |
(package private) boolean |
usePopUp |
(package private) static int |
VCOL |
(package private) static int |
VDELA |
(package private) static int |
VDELN |
(package private) static int |
VFILL |
(package private) static int |
VIMAGE |
(package private) static int |
VMINL |
(package private) static int |
VMINP |
(package private) static int |
VNAME |
(package private) java.lang.String[] |
voice |
(package private) static int |
VSHAPE |
(package private) static int |
VSIZE |
(package private) static int |
VWEI |
(package private) static int |
VZOOM |
(package private) static int |
WEIGHT |
(package private) static int |
ZOOM |
(package private) int |
zoomRate |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
GraphJPanel()
Crea un GraphPanel di un grafo vuoto
|
GraphJPanel(Graph gr)
Crea un GraphPanel di un grafo dato
|
GraphJPanel(Graph gr,
java.awt.Image bg,
java.lang.String bgn)
Crea un GraphPanel di un grafo dato con una immagine di sfondo
|
GraphJPanel(java.awt.Image bg,
java.lang.String bgn)
Crea un GraphPanel di un grafo vuoto con una immagine di sfondo
|
GraphJPanel(java.io.Reader r)
Crea un GraphJPanel prelevando dal Reader r la descrizione di un grafo in due formati.
|
GraphJPanel(java.lang.String[][] couples,
double[] p)
Crea un GraphJPanel contenente un grafo di cui viene fornita la lista di coppie di nodi con i relativi costi,
|
GraphJPanel(java.lang.String[][] couples,
double[] p,
java.awt.Color col)
Crea un GraphJPanel contenente un grafo di cui viene fornita la lista di coppie di nodi con i relativi costi,
|
GraphJPanel(java.lang.String[][] couples,
double[] p,
int[][] pos,
java.awt.Color col)
Crea un GraphJPanel contenente un grafo di cui viene fornita la lista di coppie di nodi con i relativi costi,
|
GraphJPanel(java.lang.String[] name,
int[][] matAd)
Crea un GraphPanel contente un grafo di cui viene fornita la matrice di adiacenza
e la matrice contente i nomi dei nodi
|
GraphJPanel(java.lang.String[] name,
int[][] matAd,
double[][][] p)
Crea un GraphPanel contenente un grafo di cui viene fornita la matrice di adiacenza,
la matrice contente i nomi dei nodi e
la matrice dei prezzi di ogni arco.
|
GraphJPanel(java.lang.String[] name,
int[][] pos,
int[][] matAd,
double[][][] p)
Crea un GraphPanel contenente un grafo di cui viene fornita la matrice di adiacenza,
la matrice contente i nomi dei nodi e
la matrice dei prezzi di ogni arco.
|
GraphJPanel(java.lang.String[] name,
int[][] pos,
int[][] matAd,
double[][][] p,
java.awt.Color col)
Crea un GraphJPanel contenente un grafo di cui viene fornita la matrice di adiacenza,
la matrice contente i nomi dei nodi e la matrice dei prezzi di ogni arco.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent ae)
Gestisce le azioni relative ai menu
|
boolean |
addArc(java.lang.String source,
java.lang.String dest)
Aggiunge un arco al grafo tra il nodo sorg e il nodo dest
|
boolean |
addArc(java.lang.String source,
java.lang.String dest,
java.awt.Color c)
Aggiunge un arco al grafo tra il nodo sorg e il nodo dest del colore indicato
|
boolean |
addArc(java.lang.String source,
java.lang.String dest,
java.awt.Color c,
double price)
Aggiunge un arco al grafo tra il nodo sorg e il nodo dest con il costo indicato del colore indicato
|
boolean |
addArc(java.lang.String source,
java.lang.String dest,
double price)
Aggiunge un arco al grafo tra il nodo sorg e il nodo dest con il costo indicato
|
void |
addGraphListener(GraphListener gl)
Aggiunge un nuovo GraphListener al pannello.
|
boolean |
addNode(java.lang.String name)
Aggiunge un nodo col dato nome al grafo
|
boolean |
addNode(java.lang.String name,
java.awt.Color c)
Aggiunge un nodo col dato nome al grafo di un certo colore
|
boolean |
addNode(java.lang.String name,
int x,
int y)
Aggiunge un nodo col dato nome al grafo in una data posizione
|
boolean |
addNode(java.lang.String name,
int x,
int y,
java.awt.Color c)
Aggiunge un nodo col dato nome al grafo di un certo colore in una data posizione
|
boolean |
addNode(java.lang.String name,
int x,
int y,
java.awt.Color c,
int dim)
Aggiunge un nodo col dato nome al grafo di un certo colore in una data posizione
|
boolean |
addNode(java.lang.String name,
int x,
int y,
java.awt.Color c,
int dim,
int shape,
boolean filled)
Aggiunge un nodo col dato nome al grafo di un certo colore in una data posizione
|
boolean |
addNode(java.lang.String name,
int x,
int y,
java.awt.Color c,
int dim,
java.lang.String image)
Aggiunge un nodo col dato nome al grafo di un certo colore in una data posizione
|
boolean |
addNode(java.lang.String name,
int x,
int y,
java.awt.Color c,
int dim,
java.lang.String image,
int shape,
boolean filled)
Aggiunge un nodo col dato nome al grafo di un certo colore in una data posizione
|
boolean |
changeFillNode(java.lang.String name,
boolean newFill)
Modifica il riempimento di un nodo nel grafo
|
boolean |
changeNode(java.lang.String name,
NodeSign ns)
Aggiunge un nodo col dato nome al grafo di un certo colore in una data posizione
|
boolean |
changeNodeImage(java.lang.String name,
java.lang.String image)
Modifica l'immagine di un nodo nel grafo
|
void |
clear()
Cancella il grafo nel GraphPanel
|
void |
clear(boolean erase)
Cancella il grafo nel GraphPanel
|
boolean |
coordOk(int i,
int j)
Controlla se i due indici di nodi sono validi per il grafo
|
int |
dezoom(int v)
Rimuove la zoommata dalla dimensione
|
(package private) void |
doOperation(java.awt.event.MouseEvent e)
Esegue le diverse operazioni in seguito al click del mouse o al completamento di un comando popup
|
void |
drawPath(java.awt.Color c,
int[] steps)
Disegna un cammino nel colore indicato
|
void |
drawPath(java.awt.Color c,
java.lang.String[] steps)
Disegna un cammino nel colore indicato
|
int |
findNode(java.lang.String name)
Ritorna l'indice del nodo dato il nome
|
double[][] |
getAdiacence()
Ritorna la matrice di adiacenza dei collegamenti tra i nodi in un passo
|
ArcSign |
getArc(int x,
int y)
Ritorna l'arco indicato con le sue coordinate sul grafo
|
ArcSign |
getArc(NodeSign n1,
NodeSign n2)
Ritorna l'arco tra due nodi, se presente
|
ArcSign[][] |
getArcs()
Ritorna la matrice degli archi presenti nel GraphPanel
|
java.lang.String |
getBackImage()
Ritorna il nome dello sfondo
|
java.awt.Color |
getColor()
Ritorna il colore di default
|
double[][] |
getConnection(int n)
Ritorna la matrice dei collegamenti tra i nodi in un dato numero di passi
|
double[][] |
getConnections()
Ritorna la matrice delle connessioni tra i nodi in un numero qualsiasi di passi
|
Graph |
getGraph()
Ritorna il grafo rappresentato nel GraphJPanel
|
GraphListener[] |
getGraphListeners()
Rimuove un nuovo GraphListener dal pannello.
|
java.awt.Image |
getImage(java.lang.String ims)
Ritorna una immagine.
|
java.lang.String |
getImageName()
Ritorna l'immagine dei nodi di default
|
java.lang.String |
getName()
Ritorna il nome di default
|
NodeSign |
getNode(int i)
Ritorna un nodo indicato con il suo indice
|
NodeSign |
getNode(int x,
int y)
Ritorna un nodo indicato con le sue coordinate sul grafo
|
NodeSign |
getNode(java.lang.String s)
Ritorna un nodo indicato con il suo nome
|
boolean |
getNodeFill()
Ritorna il riempimento di default dei nodi
|
int |
getNodeIndex(int x,
int y)
Ritorna l'indice di un nodo indicato con le sue coordinate sul grafo
|
int |
getNodeIndex(java.lang.String s)
Ritorna l'indice di un nodo indicato con il suo nome
|
java.lang.String |
getNodeName(int x,
int y)
Ritorna il nome di un nodo indicato con le sue coordinate sul grafo
|
NodeSign[] |
getNodes()
Ritorna la matrice dei nodi presenti nel GraphPanel
|
int |
getNodeShape()
Ritorna la forma dei nodi di default
|
int |
getNodeSize()
Ritorna la dimensione dei nodi di default
|
java.awt.Dimension |
getPreferredSize()
Ritorna la dimensione preferita del GraphPanel
|
boolean |
getShowAxis()
Ritorna la visualizzazione degli assi del grafo
|
boolean |
getShowNames()
Ritorna la visualizzazione dei nomi dei nodi del grafo
|
boolean |
getShowWeights()
Ritorna la visualizzazione dei pesi degli archi del grafo
|
java.lang.String |
getString()
Deprecated.
substituted by getName
|
double |
getWeight()
Ritorna il peso di default
|
int |
getZoom()
Ritorna il grado di ingrandimento del grafo
|
void |
inZoom()
Ingrandisce il grafo
|
boolean |
isEdit()
Controlla se sono abilitate le modifiche sul GraphJPanel
|
boolean |
isModified()
Controlla se il GraphJPanel e' stato modificato
|
boolean |
isPopUp()
Controlla se e' abilitato il popup sul GraphJPanel
|
boolean |
isSliding()
Controlla se sono abilitate lo scivolamento sul GraphJPanel
|
void |
load(java.io.Reader r)
Carica un grafo nel GraphJPanel prelevando dal Reader r la matrice di adiacenza il cui formato
prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi
e nelle righe successive sono conservati i valori della matrice di adiacenza
dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi
Successivamente puo' esserci la matrice dei pesi
dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi
e gli elementi sono i valori dei singoli archi separati da '|'
In seguito, se c'e' un'altra riga, contiene una terna di valori separati da virgola per ogni nodo
contenente il valore del codice del colore in decimale e le coordinate x e y del nodo nel grafo.
|
void |
load(java.io.Reader r,
boolean merge)
Carica un grafo nel GraphJPanel prelevando dal Reader r la matrice di adiacenza il cui formato
prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi
e nelle righe successive sono conservati i valori della matrice di adiacenza
dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi
Successivamente puo' esserci la matrice dei pesi
dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi
e gli elementi sono i valori dei singoli archi separati da '|'
In seguito, se c'e' un'altra riga, contiene una terna di valori separati da virgola per ogni nodo
contenente il valore del codice del colore in decimale e le coordinate x e y del nodo nel grafo.
|
static void |
main(java.lang.String[] s)
Il programma di prova
|
void |
mouseClicked(java.awt.event.MouseEvent e)
Gestisce l'evento mouse click se l'evento non e' stato gia' consumato
|
void |
mouseDragged(java.awt.event.MouseEvent e)
Gestisce l'evento mouse dragged se l'evento non e' stato gia' consumato
|
void |
mouseEntered(java.awt.event.MouseEvent e)
Gestisce l'evento mouse entered
|
void |
mouseExited(java.awt.event.MouseEvent e)
Gestisce l'evento mouse exited
|
void |
mouseMoved(java.awt.event.MouseEvent e)
Gestisce l'evento mouse moved
|
void |
mousePressed(java.awt.event.MouseEvent e)
Gestisce l'evento mouse pressed se l'evento non e' stato gia' consumato
|
void |
mouseReleased(java.awt.event.MouseEvent e)
Gestisce l'evento mouse released se l'evento non e' stato gia' consumato
|
(package private) void |
notifySetting()
Notifica ai listeners che e' stato modificato il setting del pannello
|
void |
outZoom()
Rimpicciolisce il grafo
|
void |
paint(java.awt.Graphics g)
Disegna il GraphJPanel
|
(package private) void |
remNodePU()
Rimuove un nodo in seguito alla scelta da popup
|
boolean |
removeArc(int x,
int y)
Rimuove l'arco selezionato dal grafo
|
boolean |
removeArc(java.lang.String source,
java.lang.String dest)
Rimuove un arco dal grafo tra il nodo source e il nodo dest
|
void |
removeGraphListener(GraphListener gl)
Rimuove un nuovo GraphListener dal pannello.
|
boolean |
removeNode(int x,
int y)
Rimuove il nodo selezionato dal grafo
|
boolean |
removeNode(java.lang.String name)
Rimuove un nodo col dato nome dal grafo
|
boolean |
renameNode(java.lang.String name,
java.lang.String newName)
Rinomina un nodo nel grafo
|
void |
reset()
Ripristina la zoommata e l'origine
|
boolean |
reshapeNode(java.lang.String name,
int newShape)
Modifica la forma di un nodo nel grafo
|
boolean |
resizeNode(java.lang.String name,
int newSize)
Modifica la dimensione di un nodo nel grafo
|
void |
save(java.io.Writer w)
Salva la matrice di adiacenza del grafo nel GraphPanel su un Writer in un formato che
prevede che la prima riga letta contenga il numero di nodi e la successiva riga contiene l'elenco dei nomi dei nodi
e nelle righe successive sono conservati i valori della matrice di adiacenza
dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi
Successivamente c'e' la matrice dei pesi
dove le colonne e le righe conservano lo stesso ordine dei nomi dei nodi
e gli elementi sono i valori dei singoli archi separati da '|'
In seguito c'e' una riga che contiene una terna di valori separati da virgola per ogni nodo
contenente il valore del codice del colore in decimale e le coordinate x e y del nodo nel grafo.
|
(package private) void |
searchPU(boolean length)
Evidenzia un percorso in seguito alla scelta da popup
|
void |
setBackImage(java.awt.Image i)
Deprecated.
versione 2.0 utilizzare la forma che conserva il nome dell'immagine per poterlo salvare
|
void |
setBackImage(java.lang.String i)
Modifica lo sfondo
|
void |
setColor(java.awt.Color c)
Stabilisce il colore di default
|
void |
setEdit(boolean pu)
Abilita e disabilita le modifiche sul GraphJPanel
|
void |
setGraph(Graph g)
Visualizza un grafo sul GraphPanel
|
void |
setGraph(Graph g,
int[][] c)
Visualizza un grafo sul GraphPanel
|
void |
setGraph(Graph g,
int[][] c,
java.awt.Color col)
Visualizza un grafo sul GraphPanel
|
void |
setGraph(java.lang.String[] name,
int[][] matAd)
Inizializza il GraphPanel con un grafo
|
void |
setGraph(java.lang.String[] name,
int[][] matAd,
double[][][] prices)
Inizializza il GraphPanel con un grafo pesato
|
void |
setImageName(java.lang.String im)
Stabilisce l'immagine dei nodi di default
|
void |
setImageReader(ImageReader i)
Stabilisce l'ImageReader da utilizzare per la lettura delle immagini
|
void |
setLanguage(java.lang.String[] v,
java.lang.String[] p)
Sostituisce i testi nei menu e nelle finestre
|
(package private) void |
setListeners()
Predispone i listeners necessari
|
void |
setModified(boolean mo)
Segna come modificato il GraphJPanel
|
void |
setName(java.lang.String s)
Stabilisce il nome di default
|
(package private) void |
setNodeArcColorPU()
Modifica il colore di un arco o di un nodo in seguito alla scelta da popup
|
void |
setNodeFill(boolean fill)
Stabilisce il rempimento di dafault dei nodi
|
void |
setNodeShape(int sh)
Stabilisce la forma dei nodi di default
|
void |
setNodeSize(int dim)
Stabilisce la dimensione dei nodi di default
|
void |
setPopUp(boolean pu)
Abilita e disabilita il popup sul GraphJPanel
|
void |
setShowAxis(boolean show)
Stabilisce se visualizzare gli assi nel grafo
|
void |
setShowNames(boolean show)
Stabilisce se visualizzare i nomi dei nodi nel grafo
|
void |
setShowText(boolean show)
Stabilisce se visualizzare le scritte nel grafo
|
void |
setShowWeights(boolean show)
Stabilisce se visualizzare i pesi degli archi nel grafo
|
void |
setSize(java.awt.Dimension d)
Modifica la dimensione del GraphPanel
|
void |
setSize(int w,
int h)
Modifica la dimensione del GraphPanel
|
void |
setSliding(boolean sl)
Abilita e disabilita scivolamento sul GraphPanel
|
void |
setString(java.lang.String s)
Deprecated.
|
void |
setWeight(double w)
Stabilisce il peso di default
|
(package private) void |
setWeightPU()
Modifica il peso di un arco in seguito alla scelta da popup
|
void |
setZoom(int z)
Stabilisce il grado di ingrandimento del grafo
|
java.lang.String |
toString()
Ritorna la stringa che descrive il grafo
|
(package private) void |
unlinkPU()
Cancella un arco in seguito alla scelta da popup
|
void |
update(java.awt.Graphics g)
Disegna il GraphJPanel
|
int |
zoom(int v)
Applica la zoommata alla dimensione
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
static final long serialVersionUID
NodeSign[] n
ArcSign[][] a
Graph g
java.awt.Color defaultColor
double defaultWeight
java.lang.String defaultName
int defaultSize
int defaultShape
boolean defaultFill
java.lang.String defaultImage
int zoomRate
boolean showAxis
boolean showNames
boolean showWeights
static final int MINZOOM
static final int MAXZOOM
static final int MFILE
static final int MEDIT
static final int MSERACH
static final int MCOL
static final int MZOOM
static final int WEIGHT
static final int REN1
static final int NAME
static final int ZOOM
static final int COLOR
static final int SIZE
static final int IMAGE
static final int SHAPE
static final int FILL
static final int MINL1
static final int MINP1
static final int REN
static final int MINL
static final int MINP
static final int VDELN
static final int VDELA
static final int VMINP
static final int VMINL
static final int VNAME
static final int VCOL
static final int VWEI
static final int VZOOM
static final int VSIZE
static final int VIMAGE
static final int VSHAPE
static final int VFILL
java.lang.String[] voice
java.lang.String[] prompt
java.awt.Image bgImage
java.lang.String bgName
ImageReader ir
boolean modified
static final int prefSize
int size
int operation
boolean usePopUp
boolean editing
boolean sliding
javax.swing.JPopupMenu mnPointPU
javax.swing.JMenuItem mnRemPU
javax.swing.JMenuItem mnUnlinkPU
javax.swing.JMenuItem mnMinLPU
javax.swing.JMenuItem mnMinPPU
javax.swing.JMenuItem mnRenPU
javax.swing.JMenuItem mnColSetPU
javax.swing.JMenuItem mnWeightPU
javax.swing.JMenuItem mnZoomPU
javax.swing.JMenuItem mnSizePU
javax.swing.JMenuItem mnImagePU
javax.swing.JMenuItem mnShapePU
javax.swing.JMenuItem mnFillPU
java.awt.event.MouseEvent lastEvent
java.lang.String primo
java.util.Vector<GraphListener> graphListeners
int dx
int dy
int oldx
int oldy
int posx
int posy
int selectedNode
boolean lineDraw
int linePosX
int linePosY
static java.awt.Frame f
public GraphJPanel()
public GraphJPanel(java.awt.Image bg, java.lang.String bgn)
bg
- l'immagine di sfondopublic GraphJPanel(Graph gr)
gr
- il grafopublic GraphJPanel(Graph gr, java.awt.Image bg, java.lang.String bgn)
gr
- il grafobg
- l'immagine di sfondobgn
- il nome dell'immagine di sfondopublic GraphJPanel(java.io.Reader r)
r
- il Reader da cui viene prelevato il grafopublic GraphJPanel(java.lang.String[] name, int[][] matAd)
name
- nomi dei nodi del grafomatAd
- matrice di adiacenza del grafopublic GraphJPanel(java.lang.String[] name, int[][] matAd, double[][][] p)
name
- nomi dei nodi del grafomatAd
- matrice di adiacenza del grafop
- matrice dei prezzi di ogni arcopublic GraphJPanel(java.lang.String[] name, int[][] pos, int[][] matAd, double[][][] p)
name
- nomi dei nodi del grafopos
- le coordinate dei nodi (primo indice orizzontale, secondo indice verticale)matAd
- matrice di adiacenza del grafop
- matrice dei prezzi di ogni arcopublic GraphJPanel(java.lang.String[] name, int[][] pos, int[][] matAd, double[][][] p, java.awt.Color col)
name
- nomi dei nodi del grafopos
- le coordinate dei nodi (primo indice orizzontale, secondo indice verticale)matAd
- matrice di adiacenza del grafocol
- il colore degli archi e dei nodip
- matrice dei prezzi di ogni arcopublic GraphJPanel(java.lang.String[][] couples, double[] p)
couples
- le coppie di nomi dei nodi del grafo collegati da un arcop
- matrice dei prezzi di ogni arcopublic GraphJPanel(java.lang.String[][] couples, double[] p, java.awt.Color col)
couples
- le coppie di nomi dei nodi del grafo collegati da un arcop
- matrice dei prezzi di ogni arcocol
- il colore degli archi e dei nodipublic GraphJPanel(java.lang.String[][] couples, double[] p, int[][] pos, java.awt.Color col)
couples
- le coppie di nomi dei nodi del grafo collegati da un arcop
- matrice dei prezzi di ogni arcopos
- le coordinate dei nodi (primo indice orizzontale, secondo indice verticale)col
- il colore degli archi e dei nodivoid setListeners()
public void setLanguage(java.lang.String[] v, java.lang.String[] p)
v
- le voci del menup
- le frasi di promptpublic void setSliding(boolean sl)
sl
- true se si vuole abilitare lo scivolamento interattivo e false altrimentipublic boolean isSliding()
public void setEdit(boolean pu)
pu
- true se si vuole abilitare le modifiche interattive e false altrimentipublic boolean isEdit()
public void setPopUp(boolean pu)
pu
- true se si vuole abilitare il popup e false altrimentipublic boolean isPopUp()
void notifySetting()
public void setModified(boolean mo)
mo
- true se si vuole segnare come modificato il GraphPanel e false altrimentipublic boolean isModified()
public double[][] getAdiacence()
public double[][] getConnection(int n)
n
- il numero di passipublic double[][] getConnections()
public void load(java.io.Reader r)
r
- il Reader da cui viene prelevato il grafopublic void load(java.io.Reader r, boolean merge)
r
- il Reader da cui viene prelevato il grafomerge
- true se il grafo va sovrapposto a quello esistente, false altrimentipublic void save(java.io.Writer w)
w
- il Writer su cui viene salvato il grafopublic void clear()
public void clear(boolean erase)
erase
- true> se deve essere cancellato anche lo sfondo, false altrimentipublic void setGraph(java.lang.String[] name, int[][] matAd)
name
- nomi dei nodi del grafomatAd
- matrice di adiacenza del grafopublic void setGraph(java.lang.String[] name, int[][] matAd, double[][][] prices)
name
- nomi dei nodi del grafomatAd
- matrice di adiacenza del grafoprices
- matrice dei prezzi di ogni arcopublic void setGraph(Graph g)
g
- il grafo da visualizzarepublic void setGraph(Graph g, int[][] c)
g
- il grafo da visualizzarec
- le coordinate dei nodi (primo indice orizzontale, secondo indice verticale)public void setGraph(Graph g, int[][] c, java.awt.Color col)
g
- il grafo da visualizzarec
- le coordinate dei nodi (primo indice orizzontale, secondo indice verticale)col
- il colore dei nodi e degli archipublic boolean coordOk(int i, int j)
i
- la riga dell'arcoj
- la colonna dell'arcopublic java.awt.Dimension getPreferredSize()
getPreferredSize
in class javax.swing.JComponent
public void setSize(int w, int h)
setSize
in class java.awt.Component
public void setSize(java.awt.Dimension d)
setSize
in class java.awt.Component
public int findNode(java.lang.String name)
name
- nome del nodopublic void drawPath(java.awt.Color c, java.lang.String[] steps)
c
- il colore del percorsosteps
- l'elenco dei nodi che costituiscono il percorsopublic void drawPath(java.awt.Color c, int[] steps)
c
- il colore del percorsosteps
- l'elenco degli indici dei nodi che costituiscono il percorsopublic boolean resizeNode(java.lang.String name, int newSize)
name
- il vecchio nome del nodonewSize
- la nuova dimensione del nodopublic boolean reshapeNode(java.lang.String name, int newShape)
name
- il vecchio nome del nodonewShape
- la nuova forma del nodopublic boolean changeFillNode(java.lang.String name, boolean newFill)
name
- il vecchio nome del nodonewFill
- la nuova dimensione del nodopublic boolean changeNodeImage(java.lang.String name, java.lang.String image)
name
- il nome del nodoimage
- la nuova immagine del nodopublic boolean renameNode(java.lang.String name, java.lang.String newName)
name
- il vecchio nome del nodonewName
- il nuovo nome del nodopublic boolean removeNode(int x, int y)
x
- l'ascissa del punto di selezioney
- l'ordinata del punto di selezionepublic boolean removeNode(java.lang.String name)
name
- nome del nodo da eliminarepublic boolean addNode(java.lang.String name)
name
- nome del nodo da aggiungerepublic boolean addNode(java.lang.String name, java.awt.Color c)
name
- nome del nodo da aggiungerec
- colore del nodopublic boolean addNode(java.lang.String name, int x, int y)
name
- nome del nodo da aggiungerex
- la coordinata x del nodoy
- la coordinata y del nodopublic boolean addNode(java.lang.String name, int x, int y, java.awt.Color c)
name
- nome del nodo da aggiungerex
- la coordinata x del nodoy
- la coordinata y del nodoc
- colore del nodopublic boolean addNode(java.lang.String name, int x, int y, java.awt.Color c, int dim)
name
- nome del nodo da aggiungerex
- la coordinata x del nodoy
- la coordinata y del nodoc
- colore del nododim
- dimensione del nodopublic boolean addNode(java.lang.String name, int x, int y, java.awt.Color c, int dim, java.lang.String image)
name
- nome del nodo da aggiungerex
- la coordinata x del nodoy
- la coordinata y del nodoc
- colore del nododim
- dimensione del nodoimage
- immagine di sfondo del nodopublic boolean addNode(java.lang.String name, int x, int y, java.awt.Color c, int dim, int shape, boolean filled)
name
- nome del nodo da aggiungerex
- la coordinata x del nodoy
- la coordinata y del nodoc
- colore del nododim
- dimensione del nodoshape
- forma del nodofilled
- true se il nodo è pieno, se il nodo è vuotopublic boolean addNode(java.lang.String name, int x, int y, java.awt.Color c, int dim, java.lang.String image, int shape, boolean filled)
name
- nome del nodo da aggiungerex
- la coordinata x del nodoy
- la coordinata y del nodoc
- colore del nododim
- dimensione del nodoimage
- immagine di sfondo del nodo, null se il nodo è una forma geometricashape
- forma del nodofilled
- true se il nodo è pieno, se il nodo è vuotopublic boolean changeNode(java.lang.String name, NodeSign ns)
name
- nome del nodo di cui sostituire la rappresentazionens
- la nuova rappresentazione del nodopublic boolean removeArc(java.lang.String source, java.lang.String dest)
source
- la sorgente dell'arcodest
- la destinazione dell'arcopublic boolean removeArc(int x, int y)
x
- l'ascissa del punto di selezioney
- l'ordinata del punto di selezionepublic boolean addArc(java.lang.String source, java.lang.String dest)
source
- la sorgente dell'arcodest
- la destinazione dell'arcopublic boolean addArc(java.lang.String source, java.lang.String dest, java.awt.Color c)
source
- la sorgente dell'arcodest
- la destinazione dell'arcoc
- il colore dell'arcopublic boolean addArc(java.lang.String source, java.lang.String dest, double price)
source
- la sorgente dell'arcodest
- la destinazione dell'arcoprice
- il costo dell'arcopublic boolean addArc(java.lang.String source, java.lang.String dest, java.awt.Color c, double price)
source
- la sorgente dell'arcodest
- la destinazione dell'arcoc
- il colore dell'arcoprice
- il costo dell'arcovoid remNodePU()
void unlinkPU()
void searchPU(boolean length)
length
- se e' true viene scelta la lunghezza altrimenti il pesovoid setWeightPU()
void setNodeArcColorPU()
public void actionPerformed(java.awt.event.ActionEvent ae)
actionPerformed
in interface java.awt.event.ActionListener
ae
- l'evento da gestirepublic void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
e
- l'evento del mousevoid doOperation(java.awt.event.MouseEvent e)
e
- l'evento da gestirepublic void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
e
- l'evento del mousepublic void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
e
- l'evento del mousepublic void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
e
- l'evento del mousepublic void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
e
- l'evento del mousepublic void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged
in interface java.awt.event.MouseMotionListener
e
- l'evento del mousepublic void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved
in interface java.awt.event.MouseMotionListener
e
- l'evento del mousepublic Graph getGraph()
public java.lang.String getNodeName(int x, int y)
x
- l'ascissa sul grafoy
- l'ordinata sul grafopublic NodeSign getNode(int i)
i
- l'indice del nodopublic NodeSign getNode(java.lang.String s)
s
- il nomepublic NodeSign getNode(int x, int y)
x
- l'ascissa sul grafoy
- l'ordinata sul grafopublic int getNodeIndex(java.lang.String s)
s
- il nomepublic int getNodeIndex(int x, int y)
x
- l'ascissa sul grafoy
- l'ordinata sul grafopublic NodeSign[] getNodes()
public ArcSign getArc(NodeSign n1, NodeSign n2)
n1
- il nodo di partenzan2
- il nodo di arrivopublic ArcSign getArc(int x, int y)
x
- l'ascissa sul grafoy
- l'ordinata sul grafopublic ArcSign[][] getArcs()
public void setShowAxis(boolean show)
show
- true se gli assi vanno visualizzati, false altrimentipublic boolean getShowAxis()
public void setShowNames(boolean show)
show
- true se le scritte vanno visualizzate, false altrimentipublic boolean getShowNames()
public void setShowWeights(boolean show)
show
- true se le scritte vanno visualizzate, false altrimentipublic boolean getShowWeights()
public void setShowText(boolean show)
show
- true se le scritte vanno visualizzate, false altrimenti@Deprecated public void setString(java.lang.String s)
s
- la stringa di default
+ @deprecated substituted by setNamepublic void setName(java.lang.String s)
setName
in class java.awt.Component
s
- la stringa di default@Deprecated public java.lang.String getString()
public java.lang.String getName()
getName
in class java.awt.Component
public void setWeight(double w)
w
- il peso di defaultpublic double getWeight()
public void setColor(java.awt.Color c)
c
- il colore di defaultpublic java.awt.Color getColor()
public void setNodeSize(int dim)
dim
- la dimensione dei nodi di defaultpublic int getNodeSize()
public void setNodeShape(int sh)
sh
- la forma dei nodi di defaultpublic int getNodeShape()
public void setNodeFill(boolean fill)
fill
- il riempimento di default dei nodipublic boolean getNodeFill()
public void setImageName(java.lang.String im)
im
- l'immagine dei nodi di defaultpublic java.lang.String getImageName()
public void inZoom()
public void outZoom()
public void setZoom(int z)
z
- il grado di ingrandimento del grafopublic int getZoom()
public int dezoom(int v)
v
- il valore da dezoommarepublic int zoom(int v)
v
- il valore da zoommarepublic void reset()
public void setImageReader(ImageReader i)
i
- l'ImageReader da utilizzarepublic java.lang.String getBackImage()
public void setBackImage(java.lang.String i)
i
- il nome del file contenente l'immagine di sfondo@Deprecated public void setBackImage(java.awt.Image i)
i
- l'immagine di sfondopublic java.awt.Image getImage(java.lang.String ims)
getImage
in interface ImageReader
ims
- nome dell'immagine da ritornarepublic void addGraphListener(GraphListener gl)
gl
- il nuovo GraphListener da aggiungerepublic void removeGraphListener(GraphListener gl)
gl
- il nuovo GraphListener da aggiungerepublic GraphListener[] getGraphListeners()
public void update(java.awt.Graphics g)
update
in class javax.swing.JComponent
g
- lo spazio grafico di tracciamentopublic void paint(java.awt.Graphics g)
paint
in class javax.swing.JComponent
g
- lo spazio grafico di tracciamentopublic java.lang.String toString()
toString
in class java.awt.Component
public static void main(java.lang.String[] s)
s
- i nomi dei file contenenti le descrizioni dei grafi. Se non ne sono indicati viene utilizzato un grafo di default