我上了这个课:
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扩展的多个Class一起使用。
现在,每个extendedJFrame
类(多个类)都具有扩展JPanel的多个属性,换句话说,具有extendedJPanel
类。
将来,我将不知道JFrame的类的包/名称,也不知道JPanel的属性(编号和名称)。
我想使用反射器来发现JPanel的某些属性是否扩展 并且如果此类包含一些属性JFileChooser或JTable
如何做到?