Проверьте, расширяется ли класс / объект JPanel или JFrame с помощью Reflect или является instanceOf
У меня есть этот класс:
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, ни его свойства (Number и names), чем у JPanel.
Я хочу узнать, используя рефлектор, если какое-то свойство распространяется на JPanel И если этот класс содержит какое-то свойство JFileChooser или JTable
Как это сделать?