Q:

ListView sorts added members as if they were another sorted list that comes after the original list

I'm getting some odd behavior when I try to sort a javafx ListView object that starts with some elements in it after adding new elements to it.
The code used to sort is
  movieList.getItems().add(newMovie);
  if(mainController.getListingOrder().equals("title"))
  {
    movieList.getItems().sort(Movie.getTitleComparator());
  }
  else
  {
    movieList.getItems().sort(Movie.getYearComparator());
  }

The getTitleComparator() method is as follows
  public static Comparator<Movie> getTitleComparator()
  {
    return new Comparator<Movie>()
    {
      @Override
      public int compare(Movie movie1, Movie movie2)
      {
        return movie1.getTitle().compareTo(movie2.getTitle());
      }       
    };
  }

The three following pictures should hopefully illustrate the problem I'm having.
Before any elements added:

After 1 element added:

After adding three elements:

As you can see, the added elements are being sorted alphabetically with each other, but not with the elements that are already in the list. Is there any way to make it so all the elements sort in alphabetical order instead of acting as if they were two separate sorted arrays put next to each other?

A:

You compare strings in case-sensitive order.
Instead of a.compareTo(b) do: 
String.CASE_INSENSITIVE_ORDER.compare(a, b)

