下面给出的是一个java类,它在第一帧中单击“下一步”按钮时被调用。我发送一个参数是我发送getContentPane()到这个给定的下面的程序,这里访问参数并将其visibality设置为是的,在这里我使用“后退”按钮转到上一页dats for ma第一帧,但点击Back它不显示前一帧为我,plz帮助我用dis
它只是一个简单的程序,如果我需要从第二帧获取一些文本输入并再次我需要回到主屏幕所以,我怎么能在这个程序中实现这个
public class firstframe extends JFrame{
public firstframe()
{
getContentPane().setLayout(null);
JButton next=new JButton("Next");
next.setBounds(100,100,100,100);
getContentPane().add(next);
next.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
Container c=getContentPane();
}
new signup(c);
});
}
public static void main(String ar[]){
firstframe f=new firstframe();
f.setVisible(true);
f.setSize(1365,740);
f.show();
} }
public class signup extends JFrame{
public signup(Container d)
{
final Container c=d;
c.setVisible(false);
final Container e;
e=c.getParent();
e.setLayout(null);
JButton back=new JButton("Back");
back.setBounds(100,100,100,100);
e.add(back);
e.setVisible(true);
back.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
e.setVisible(false);
d.setVisible(true);
}
});
}
}//
答案 0 :(得分:0)
抱歉,但你的代码风格不好。太多不必要的任务阻止我理解代码含义和太短的变量名称。
看看你做了什么。在signup()
方法中,您指定了e=c.getParent();
,这意味着e
是c
和d
的父组件。然后在back
动作监听器中,您e
不可见,并尝试使d
可见。但是,e
是d
的父级,d
永远不可见,而其父级是不可见的。
此代码的快速修复是将back
按钮动作侦听器更改为
back.setVisible(false);
d.setVisible(true);
当然让back
最终
final JButton back=new JButton("Back");