Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Swing / 6 сообщений из 6, страница 1 из 1
07.12.2013, 23:17:21
    #38492979
alex021
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Swing
Добрый вечер!

при помощи массива пытаюсь добавить кнопки 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
07.12.2013, 23:33:05
    #38492983
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Swing
alex021,

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

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

с ArrayList тема остается открыта
...
Рейтинг: 0 / 0
08.12.2013, 00:07:14
    #38493000
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Swing
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
08.12.2013, 00:19:31
    #38493002
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Swing
Usman, если бы вы так картошку на рынке продавали, вас бы бабки на рынке били за демпинг))
...
Рейтинг: 0 / 0
08.12.2013, 00:32:06
    #38493008
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Swing
javapecker,
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Swing / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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