Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача параметров / 7 сообщений из 7, страница 1 из 1
11.01.2006, 18:40
    #33477416
GlukOza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  public   void  formMenu(JMenuItem jmi,(Чего сюда передать?))
 {

       jmi.addActionListener( new  ActionListener()
       {
              public   void  actionPerformed(ActionEvent e)
             {
                     new  (Чего сюда передать?);
             }
       });

 }

Чего сюда передать? - имеется в виду имя класса с его параметрами.

Имя класса у меня берется из таблички (ORACLE).
Смогу ли я свой замісел осуществить?
...
Рейтинг: 0 / 0
11.01.2006, 22:27
    #33477678
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
GlukOza
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  public   void  formMenu(JMenuItem jmi,(Чего сюда передать?))
 {

       jmi.addActionListener( new  ActionListener()
       {
              public   void  actionPerformed(ActionEvent e)
             {
                     new  (Чего сюда передать?);
             }
       });

 }

Чего сюда передать? - имеется в виду имя класса с его параметрами.

Имя класса у меня берется из таблички (ORACLE).
Смогу ли я свой замісел осуществить?

Код: plaintext
1.
2.
3.
4.
formMenu(JMenuItem jmi, String className) {
  ...
   Class .forName(className).newInstance();
}
...
Рейтинг: 0 / 0
12.01.2006, 10:18
    #33478046
GlukOza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
А.Грасоff™
...


Спасибо. Только у меня еще передается переменное количество параметров, в разных случаях разных типов...
...
Рейтинг: 0 / 0
12.01.2006, 10:23
    #33478061
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
GlukOza А.Грасоff™
...


Спасибо. Только у меня еще передается переменное количество параметров, в разных случаях разных типов...
имя класса ты берешь из базы. а параметры откуда? их кол-во и типы?
...
Рейтинг: 0 / 0
12.01.2006, 10:33
    #33478094
GlukOza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
А.Грасоff™ GlukOza А.Грасоff™
...


Спасибо. Только у меня еще передается переменное количество параметров, в разных случаях разных типов...
имя класса ты берешь из базы. а параметры откуда? их кол-во и типы?

Паратметры тоже из базы.
...
Рейтинг: 0 / 0
12.01.2006, 17:02
    #33479664
GlukOza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
Юзай и все получится...

Теперь задачка посложнее:
Все-таки я добиваюсь того, чтобы из базы считывать нужные классы с параметрами и затем их запускать.

Но не все получается.
http://www.livejournal.com/community/ru_java/179191.html?view=1277175#t1277175 - сдесь мне подсказали и вот что получилось.
Только не знаю как дальше быть:

Код: plaintext
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.
     public   void  formMenu(JMenuItem jmi, Class  classMenu, Object[] constructorArgs)
    {
         Class [] paramTypes =  new   Class [constructorArgs.length];
         for ( int  i =  0 ; i < paramTypes.length; i++)
        {
            paramTypes = constructorArgs[i].getClass();
        }
         try 
        {
            Object d = classMenu.getDeclaredConstructor(paramTypes).newInstance(constructorArgs);
            System.out.println(d);
        }
         catch  (InstantiationException e) {
            e.printStackTrace();
        }  catch  (IllegalAccessException e) {
            e.printStackTrace();
        }  catch  (InvocationTargetException e) {
            e.printStackTrace();
        }  catch  (NoSuchMethodException e) {
            e.printStackTrace();
        }

        jmi.addActionListener( new  ActionListener()
        {
             public   void  actionPerformed(ActionEvent e)
            {
               // new ; //
            }
        });
    }


В paramTypes [i] получается такое {class oracle.jdbc.driver.OracleConnection,class java.langString}

Вылетает такой экзепшин на этапе :

Object d = classMenu.getDeclaredConstructor(paramTypes).newInstance(constructorArgs);

Код: plaintext
1.
java.lang.NoSuchMethodException: PoshukSud.<init>(oracle.jdbc.driver.OracleConnection, java.lang.String)

...
Рейтинг: 0 / 0
12.01.2006, 18:09
    #33479832
GlukOza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметров
Немножко переделала и вроде все ок'ей.

Код: plaintext
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.
     public   void  formMenu(JMenuItem jmi, final   Class  classMenu,  final  Object[] constructorArgs)
    {
         final   Class [] paramTypes =  new   Class [constructorArgs.length];
         for ( int  i =  0 ; i < paramTypes.length; i++)
        {
            paramTypes[i] = constructorArgs[i].getClass();
        }
        jmi.addActionListener( new  ActionListener()
        {
             public   void  actionPerformed(ActionEvent e)
            {
                 try 
                {
                    classMenu.getDeclaredConstructor(paramTypes).newInstance(constructorArgs);
                }
                 catch  (InstantiationException e1)
                {
                    e1.printStackTrace();  
                }
                 catch  (IllegalAccessException e1)
                {
                    e1.printStackTrace();
                }
                 catch  (InvocationTargetException e1)
                {
                    e1.printStackTrace();
                }
                 catch  (NoSuchMethodException el)
                {
                    el.printStackTrace();
                }
            }
        });
    }
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача параметров / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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