This is a question mostly about Java inheritance. I am developing a program which has 2 windows, both of which will be developed in separate classes which will extend JPanel
I don't see why you need multiple inheritance. As far as I can tell you should be fine with a an abstract base class that implements the common methods:
public abstract class AbstractFilePanel extends JPanel
{
public void commonMethod1() {}
}
public class FileSub1 extends AbstractFilePanel
{
public void sub1Method() {}
}
public class FileSub2 extends AbstractFilePanel
{
public void sub2Method() {}
}