public void paintComponent(Graphics g) {
		removeAll();
		super.paintComponent(g);
		// Traccio gli archi
		Graphics2D g2 = (Graphics2D)g;
		int startX, startY, endX, endY;
		for (NodoGrafico ng: nodiGrafici) {
			add(ng);
			if (ng.destro() || ng.sinistro()) {
				startX = ng.getX() + NodoGrafico.WIDTH / 2;
				startY = ng.getY() + NodoGrafico.HEIGHT;
				endY = startY + 3 * NodoGrafico.HEIGHT / 2 - NodoGrafico.HEIGHT;
				g2.setPaint(Color.DARK_GRAY);
				if (ng.sinistro()) {
					endX = startX - Mat.pow(2, ng.getAltezza() - 1) * NodoGrafico.WIDTH / 2;			
					Line2D versoSinistra = new Line2D.Double(startX, startY, endX, endY);
					g2.draw(versoSinistra);
				}
				if (ng.destro()) {
					endX = startX + Mat.pow(2, ng.getAltezza() - 1) * NodoGrafico.WIDTH / 2;
					Line2D versoDestra = new Line2D.Double(startX, startY, endX, endY);
					g2.draw(versoDestra);
				}
			}
		}
	}