在主类的构造函数中,我将此actionlistener附加到一个按钮:
home.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
Home homepage = new Home();
homepage.setBounds(0, 100, 500, 400);
add(homepage);
}
});
这是Home课程:
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(),你仍然需要将鼠标悬停在它上面。答案 0 :(得分:1)
动态添加组件时,您需要revalidate()
和repaint()
add(homepage);
revalidate();
repaint();
附注:请查看Laying out Components withing a Container以了解如何使用布局管理器。正如您所做的那样,它们优于使用空布局。