Проблема в том, что LayoutManager
панели устанавливает для вас местоположение метки.
Что вам нужно сделать, это установить макет в null:
public GUI() {
setLayout(null);
}
Это сделает так, чтобы рамка не пыталась расположить компоненты самостоятельно.
Затем позвоните setBounds(Rectangle)
на этикетке. Вот так:
addLbl.setBounds(new Rectangle(new Point(200, 300), addLbl.getPreferredSize()));
Это должно разместить компонент там, где вы хотите.
Однако , если у вас нет действительно веской причины для самостоятельного размещения компонентов, обычно лучше использовать LayoutManagers
, чтобы работать в вашу пользу.
Здесь - отличное руководство по началу работы с LayoutManager
s.
Если вам нужно обойтись без LayoutManager
, здесь - хороший урок для обхода без него.