Размещение компонентов в круге

Я хочу разместить 10 панелей JPanel в круге. Все панели имеют одинаковый размер, и длина между двумя панелями должна быть одинаковой. Итак, самый простой способ, который я подумал, - это взять нулевой макет и вычислить ограничивающий прямоугольник вручную с помощью поляркоордиантов:

JPanel panel = new JPanel(null);

int r = 100;
int phi = 90;

for (int i = 0; i < 10; i++) {
    JPanel x = new JPanel();
    x.setBackground(Color.red);
    x.setBounds((int) (r * Math.sin(phi)) + 100, (int) (r * Math.cos(phi)) + 100, 4, 4);

    panel.add(x);
    phi = (phi + 36) % 360;
}

Но это не работает! Некоторые элементы находятся в круге, некоторые из них с пикселями ... Я совершенно не понимаю, почему ?! Я также не могу найти LayoutManager, который может сделать это за меня, что же делать?

5
задан mKorbel 14 January 2012 в 00:04
поделиться