0

我有这堂课:

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,则使用反射器

怎么做?

4

0 回答 0