What's with unorganized code?

I’ve never had this problem unless I was running a very deep algorithm. My code looks godly.

package Core;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Point;
import java.util.ArrayList;

public class HexGrid {

	int size;
	ArrayList<Point> points = new ArrayList<Point>();
	ArrayList<Troint> troints = new ArrayList<Troint>();
	Point[][] pointA;

	public HexGrid(int size){
		this.size = size;
		setupGrid(size);
	}
	
	public void update() {
		
		
	}

	public void draw(Graphics2D g) {
		
		int offset = size*24;
		int spacing = 20;
		for(int c = 0; c < points.size(); c++){
			
			g.setColor(Color.green);
			
			Point pFill = points.get(c);
			Troint tFill = troints.get(c);
			
			if(tFill.n == 0 && tFill.v == 0){
				g.setColor(Color.red);
			}
			
			if(tFill.n > 0){
				g.fillOval(tFill.n*(spacing)+offset, tFill.v*(spacing)+offset-(size*(spacing/2))+((size-tFill.n)*(spacing/2)), (spacing), (spacing));
			}else
			if(tFill.n <= 0){
			g.fillOval(tFill.n*(spacing)+offset, tFill.v*(spacing)+offset+((tFill.n)*(spacing/2)), (spacing), (spacing));
			}
		}		
	}
	int numKeep = 0;
	public void setupGrid(int size){
		
		pointA = new Point[size*2+1][size*2+1];

		
		int count = 1;
		for(int o = 0; o < size; o++){
			
			for(int i = 0; i <  size+1+o; i++){
				System.out.println((o-size)+":"+(i-o)+":"+(Math.abs(o-size)-(i-o)));
				points.add(new Point(o-size,i-o));
				troints.add(new Troint(o-size,Math.abs(o-size)-(i-o),i-o));
				count++;
			}			
		}
		
		for(int o = 0; o < size*2+1; o++){
			System.out.println(0+":"+(o-size)+":"+-(o-size));
			points.add(new Point(0,o-size));
			troints.add(new Troint(0,-(o-size),o-size));
			count++;
		}
		
		for(int o = 0; o < size; o++){
			
			for(int i = 0; i <  Math.abs(o-size*2); i++){
				System.out.println((o+1)+":"+(i-o-1)+":n, "+(-(o+1)+Math.abs(i-o-1)));
				points.add(new Point(o+1,i+o-size+1));
				troints.add(new Troint(o+1,-((o+1)+Math.abs(i-o-1)),i+o-size+1));
				count++;
			}			
		}
	}
}

And you may be asking yourself, wtf is a TROINT? It’s just a Point with 3 coordinates instead of 2 like a normal point. Dealing with Hexagons that is…

package Core;

public class Troint {

	//n = negative line coordinate;
	//p = positive line coordinate;
	//v = vertical line coordinate;
	
	public int n;
	public int p;
	public int v;
	
	public Troint(int n, int p, int v){		
		this.n = n;
		this.p = p;
		this.v = v;		
	}
	
	public int getN(){
		return n;
	}
	public int getP(){
		return p;
	}
	public int getV(){
		return v;
	}
	
}