将JPanel添加到JFrame

Ano*_*181 9 java swing jpanel jframe

我有一个程序,其中JPanel添加到JFrame:

public class Test{

    Test2 test = new Test2();
    JFrame frame = new JFrame();

    Test(){

    ...
    frame.setLayout(new BorderLayout());
    frame.add(test, BorderLayout.CENTER);
    ...

    }

    //main

    ...

    }

    public class Test2{

    JPanel test2 = new JPanel();

    Test2(){

    ...

    }

}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,要求我将'panel'的类型更改为'component'.我修复此错误?它要我做:Component panel = new Component();

And*_*son 15

public class Test{

Test2 test = new Test2();
JFrame frame = new JFrame();

Test(){
...
frame.setLayout(new BorderLayout());
frame.add(test, BorderLayout.CENTER);
...
}

//main
...
}

//public class Test2{
public class Test2 extends JPanel {

//JPanel test2 = new JPanel();

Test2(){
...
}
Run Code Online (Sandbox Code Playgroud)

  • 出于好奇,您是否有理由不直接在“Test”中扩展“JFrame”?我总是这样做,也许这是一个坏习惯?已投赞成票。 (2认同)
  • @ Jean-FrançoisSavard我没有添加任何功能或改变框架的任何现有功能,所以我只使用一个普通的实例.通常是GUI构建器鼓励扩展框架或面板(我没有理由看到). (2认同)