Java - заполнение пользовательской формы

Я создал пользовательскую форму, по существу это - набор четырех объектов Arc2D.

Когда эти дуги оттянуты, они формируют то, что могло быть рассмотрено, четыре вопроса округлили форму звезды, отчасти как клевер. Где одна дуга заканчивается, другой начинается. Они формируют квадрат в центре. Поэтому вообразите, беря квадрат и рисуя половину кругов на каждой стороне.

Я могу потянуть эту форму к объекту Graphics2D, но когда я заполню ее, она только заполнит дуги а не центральный квадрат. Заполнение этого внутреннего квадрата является моей проблемой.

Я реализовал getPathIterator() метод, ниже. Я реализовал contains() методы также. Но это все еще только заполнит дуги.

Я пытался добавить a Rectangle. При заполнении формы прямоугольник/квадрат был бы заполнен правильно, однако это тянет прямоугольник также, который, очевидно, должен ожидаться, но определенно не желаемый результат.

Так, у кого-либо есть какие-либо идеи о том, как "заполнить" такую форму?

public PathIterator getPathIterator(AffineTransform at) {
    GeneralPath gp = new GeneralPath

    for (Arc2D arcs : this.arcs) {
        gp.append(arc, false);
    }

    return gp.getPathIterator(at);
}
6
задан abrightwell 26 July 2010 в 16:50
поделиться