Java JFrame和actionlistener jpanel

Java JFrame和actionlistener jpanel,java,jframe,actionlistener,Java,Jframe,Actionlistener,在主类的构造函数中,我将此actionlistener连接到一个按钮: home.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { Home homepage = new Home(); homepage.setBounds(0, 100, 500, 400); add(homepage);

在主类的构造函数中,我将此actionlistener连接到一个按钮:

home.addActionListener(new ActionListener(){
    @Override
    public void actionPerformed(ActionEvent e) {
        Home homepage = new Home();
        homepage.setBounds(0, 100, 500, 400);
        add(homepage);

    }
});
这是家庭课:

package test;

import javax.swing.JButton;
import javax.swing.JPanel;

public class Home extends JPanel{

    public Home(){
        JButton jb = new JButton("Back");
        add(jb);
    }
}
jb按钮没有显示在jframe上。。。你能帮我吗


编辑:它实际上在那里,但你需要把鼠标移到它上面才能看到它。。。我们怎样才能要求专注?就像我做jb.requestFocus()一样,您仍然需要将鼠标移到它上面。

动态添加组件时,您需要
重新验证()
重新绘制()



旁注:了解如何使用布局管理器。与使用空布局相比,它们更受欢迎。

请尝试
setVisible(true)
。JFrame是否设置为visible?您是否已将Jpanel添加到框架中?代码的那部分在哪里?
   add(homepage);
   revalidate();
   repaint();