У меня есть этот класс:
public class JPanelInfo extends JPanel {
private JFileChooser lastSource;
private JTable table;
....
}
Теперь у меня есть другой класс:
public class JFrameNumbers extends JFrame {
private JPanelInfo panelInfo;
....
}
Теперь есть некоторый экземпляр
JFrameNumbers frameNumbers = new JFrameNumbers();
Field fields[] = frameNumbers.getClass().getDeclaredFields();
Arrays.stream(fields).forEach(field -> {
//check field extends of instanceOf JPanel
// check if field is instance of JPanelInfo
// I'm lost
});
Краткое объяснениеЯ создаю универсальный класс, который будет использоваться с несколькими классами, расширяющимися из JFrame.Теперь каждый класс extendedJFrame
(несколько классов) имеет несколько свойств, расширяющих JPanel, другими словами, есть классы extendedJPanel
.В будущем я не буду знать ни пакета / имени класса JFrame, ни его свойства (номера и имена) JPanel.
Я хочу обнаружить, используя рефлектор, если какое-либо свойство расширяется из JPanel Иесли этот класс содержит какое-либо свойство JFileChooser или JTable
Как это сделать?