У меня есть событие мыши для компонента Swing, который может иметь 2 различных пользовательских класса: ModelTable и Modelcompte, которые являются компонентами Swing, созданными с помощью графического интерфейса NetBeans Swing, и оба они расширяют JPanel. Они совместно используют некоторые методы и атрибуты.
Component source = (Component) evt.getSource();
Component panel = (Component) (source.getParent()
.getParent()
.getParent()
.getParent()
.getParent());
Class clazz = panel.getClass();
clazz.cast(panel);
Когда я печатаю класс панели, он дает мне правильный класс, но когда я пытаюсь использовать метод этого класса на панели, он не может найти метод ("метод ... в классе Компонент не существует").«).Кажется, что панель все еще состоит из Class Component ...
что я хочу сделать:
if (panel instance of ModelTable){
panel.setQuantity(1);
}
else if (panel instance of ModelCompte){
panel.setQuantity(2)
}
Спасибо за вашу помощь!
// and by the way I don't know why I can't directly do this :
(Component) panel = (Component) (evt.getsource()
.getParent()
.getParent()
.getParent()
.getParent()
.getParent());