Как я могу добавить JButtons на панель вертикально?

задача, которую я пытаюсь сделать, проста. Я хочу добавить JButtons на панель вертикально, но, используя цикл для его добавления, я попытался сделать это с помощью методов .setBounds () и .setLocation (), но у меня нет никаких результатов.

Проще говоря, я хочу сделать это, но добавляя кнопки по вертикали и сохраняя полосу прокрутки JScroll ...:

  public class NewMain {

public static void main(String[] args) {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    frame.setLayout(null);
    for (int i = 0; i < 10; i++) {
        JButton asd=new JButton("HOLA "+i);
        asd.setLocation(i+20, i+20);
        panel.add(asd);
    }
    JScrollPane scrollPane = new JScrollPane(panel);
    scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    scrollPane.setBounds(50, 30, 300, 50);
    JPanel contentPane = new JPanel(null);
    contentPane.setPreferredSize(new Dimension(500, 400));
    contentPane.add(scrollPane);
    frame.setContentPane(contentPane);
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setVisible(true);
}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Дайте JPanel, который содержит JButtons, соответствующий менеджер компоновки, который добавляет компоненты вертикально. GridLayout(0, 1) будет работать, параметры относятся к 0 строкам, что означает количество строк Переменная и 1 столбец. Это добавит JButtons в вертикальную сетку, столбец из одного
  2. Другие возможные решения включают BoxLayout и GridBagLayout, оба из которых являются маленький более сложными, чем GridLayout.
  3. Также избегайте использования макетов null, поскольку это приводит к болезненной отладке и изменениям негибкого графического интерфейса.

Спасибо, я воспользовался первым, проблема решена !.

Luis Enrique Bermúdez García 27.05.2018 20:10

@ LuisEnriqueBermúdezGarcía: пожалуйста, но в будущем, пожалуйста, поищите это, прежде чем спрашивать, так как об этом уже много раз спрашивали. См. эта ссылка в качестве примера поиска и одного из лучших способов использования этого сайта.

Hovercraft Full Of Eels 27.05.2018 20:11

Другие вопросы по теме