Разместите компоненты в произвольных (x, y) координатах - PullRequest
9 голосов
/ 06 января 2012

Я хочу поместить несколько кнопок в JPanel в случайных положениях (x, y), и эти классы макета раздражают.

Возможно ли это даже в Swing?

Ответы [ 2 ]

12 голосов
/ 06 января 2012

Вы можете установить координаты, если используете пустой макет:

panel.setLayout(null);
Button b = new Button(....);
panel.add(b);
b.setSize(width, height);
b.setLocation(x,y);

Но настоятельно рекомендуется использовать макеты. Классы макетов не "раздражают", они ваши друзья, если вы правильно их понимаете.

Я предлагаю прочитать учебник по GridBagLayout , он прост для понимания (вроде таблиц html) и очень мощный.

4 голосов
/ 06 января 2012

используйте null в качестве "Менеджера раскладки":

http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html

...