powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Обращение к ClassLoader
6 сообщений из 31, страница 2 из 2
Обращение к ClassLoader
    #33457384
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда компилирую он лежит в текущей директории.
Оба класса наследуют JInternalFrame. Отличаются между собой контентом метода
initComponents()
Плюс методы событий
...
Рейтинг: 0 / 0
Обращение к ClassLoader
    #33457476
Jozic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold FishКогда компилирую он лежит в текущей директории.
Оба класса наследуют JInternalFrame. Отличаются между собой контентом метода
initComponents()
Плюс методы событий
Во-первых вы не сказали какой из классов лежит в текущей директории :), хотя это не столь важно как то, что ответ на вопрос
JozicИмеют ли они одинаковый интерфейс??? ДА!
Что здесь мешает вам использовать интерфейс? реализации могут быть называцца поразному, дубликатов не будет.
...
Рейтинг: 0 / 0
Обращение к ClassLoader
    #33458020
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все получилось!!!!!!!!!!!!!!!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
sqlClassLoader cl =  new  sqlClassLoader(ClassLoader.getSystemClassLoader());
cl.reInit();
Object dd = cl.loadClass("StartWindow").newInstance();
JInternalFrame a = (JInternalFrame)dd;
getContentPane().removeAll();
getContentPane().repaint();
getContentPane().add(a);
...
Рейтинг: 0 / 0
Обращение к ClassLoader
    #33461423
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла такая проблема и абсолютно немогу понять почему.

если я делаю

Код: plaintext
1.
2.
3.
4.
5.
 Class  cc = cl.loadClass("StartWindow");
Object dd = cc.newInstance();
JInternalFrame a = (JInternalFrame)dd; 
getContentPane().add(a);       
a.setVisible(true);

все работает отлично

но если я делаю
Код: plaintext
1.
2.
3.
4.
5.
6.
 Class  cc = cl.loadClass("StartWindow");
Object dd = cc.newInstance();
ConnectedInternalFrame a = (ConnectedInternalFrame)dd; 
a.SetConn(conn);
getContentPane().add(a);       
a.setVisible(true);

То вылетает
java.lang.ClassCastException: StartWindow

хотя StartWindow:
public class StartWindow extends ConnectedInternalFrame

а ConnectedInternalFrame имеет следующий вид
import javax.swing.*;
import java.sql.*;

/**
*
* @author yr
*/
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public   class  ConnectedInternalFrame  extends  JInternalFrame  implements  SetConnection {
    
    /** Creates a new instance of ConnectedInternalFrame */
     public  ConnectedInternalFrame() {
    }
    
     public   void  SetConn(Connection c){
        conn = c;
    }
     protected  Connection conn;
}
...
Рейтинг: 0 / 0
Обращение к ClassLoader
    #33463848
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю то если я привожу к родителю то недолжно такого быть!!! Или я что-то не так понимаю?????
...
Рейтинг: 0 / 0
Обращение к ClassLoader
    #33464009
Евгений Путилин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold FishНасколько я понимаю то если я привожу к родителю то недолжно такого быть!!! Или я что-то не так понимаю?????
Ага
ConnectedInternalFrame каким classLoadron загружен?
Для тебя самый лучший способ это когда у тебя есть интерфейс к которому ты приводиш он должен быть загружен системным classLoaderom и на каждый инстанс StartWindow свой classLoader.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Обращение к ClassLoader
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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