Вы НЕ должны пытаться установить размер / расположение кнопок.
Swing был разработан для использования с менеджерами компоновки. Менеджер компоновки установит размер / расположение кнопки на основе правил менеджера компоновки.
Менеджер компоновки по умолчанию для JPanel - FlowLayout
, поэтому вы видите кнопку по центру.
Если вы хотите расположить кнопки по-другому, вам нужно сменить менеджер компоновки.
Прочтите раздел из учебника Swing на Менеджеры компоновки для получения дополнительной информации и примеров .
Похоже, вы хотите, чтобы кнопки отображались вертикально, поэтому, возможно, можно использовать BoxLayout
или GridLayout
в зависимости от ваших требований.
Другие проблемы с вашим кодом:
- Имена классов должны начинаться с символа верхнего регистра
- Нет необходимости использовать переменные stati c. Это не то, как следует использовать ключевое слово stati c.
- Компоненты должны быть добавлены в фрейм ДО того, как фрейм станет видимым.
- Вы должны вызывать pack () в фрейме, ПЕРЕД вызовом setVisible (...), чтобы компоненты могли отображаться в их предпочтительном размере.