powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Swing
6 сообщений из 6, страница 1 из 1
Swing
    #38492979
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!

при помощи массива пытаюсь добавить кнопки JButton .
Основная проблема: В цикле for, если добавлять их по возрастанию все нормально работает, если же выводить по убыванию кидает exception : idexOutOfBound.
Почему так происходит, что сделать чтобы устранить?

Ну и есть еще вариант добавить через ArrayList , тут столкнулся с проблемой по добавлению на панель butPanel .
Если кто подскажет буду очень благодарен!

Спасибо за потраченное Вами время.

привожу пример метода который это делает

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
 public void drawLiftFrame() {
private static final int FLOOR_COUNT = 10;
        JFrame liftFrame = new JFrame("Lift Frame");
                liftFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final Font font = new Font("Verdana", Font.PLAIN, 25);
        JPanel butPanel = new JPanel();


addButton2 = new JButton[FLOOR_COUNT];
        
       // for (int i =0; i<addButton2.length;i++){// если делать так, то кнопки добавляются без проблем
        for (int i =addButton2.length; i>0;i=i-1){// если писать так, то exception
           
            addButton2[i] = new JButton(String.valueOf(i));
            butPanel.add(addButton2[i]);
              
        addButton2[i].addActionListener(new ButtonListener());
        }

ArrayList<JButton> jbadev = new ArrayList<JButton>();
//        
//        for (int i =0; i<FLOOR_COUNT;i++){
//        jbadev.add(new JButton());
//       jbadev.get(i).setText(i+"");
//     //       
//        }
//        for(JButton btn : jbadev)
//            {
//              butPanel.add(btn);        //не работает, как-то по другому надо?
//        }








      liftFrame.setLayout(new BorderLayout());
        liftFrame.add(butPanel, BorderLayout.WEST);
        butPanel.setLayout(new GridLayout(10, 1));
        liftFrame.add(new CanvasPane(), BorderLayout.CENTER);
        liftFrame.setPreferredSize(new Dimension(600, 600));
        liftFrame.pack();
        liftFrame.setLocationRelativeTo(null);
        liftFrame.setVisible(true);

    }
...
Рейтинг: 0 / 0
Swing
    #38492983
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex021,

Код: java
1.
2.
3.
for (int i = addButton2.length - 1; i >= 0; i--) {
    ...
}
...
Рейтинг: 0 / 0
Swing
    #38492988
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Usman,

спасибо..глупо как то=)

с ArrayList тема остается открыта
...
Рейтинг: 0 / 0
Swing
    #38493000
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex021,

Готовый пример:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    JPanel butPanel = new JPanel();
    butPanel.setLayout(new BoxLayout(butPanel, BoxLayout.Y_AXIS)); // BoxLayout.X_AXIS - гориз-е расположение кнопок
    for (int i = 1; i < 10; i++) {
        butPanel.add(new JButton("Button #" + i));
    }
    frame.setContentPane(butPanel);
    frame.pack();
    frame.setVisible(true);
}
...
Рейтинг: 0 / 0
Swing
    #38493002
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman, если бы вы так картошку на рынке продавали, вас бы бабки на рынке били за демпинг))
...
Рейтинг: 0 / 0
Swing
    #38493008
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Swing
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]