这是密码。我正在尝试通过单击按钮在用户界面中从关闭一个JFrame移动到另一个(打开(新的JFrame。但当我关闭旧的JFrame时,新的也正在消失
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try
{
if(e.getSource()==btn )
{
dispose();
customer s =new customer();
s.setVisible(true);
s.pack();
s.setLocationRelativeTo(null);
s.setExtendedState(JFrame.MAXIMIZED_BOTH);
CloseFrame();
}
if(e.getSource()==btn1)
{
dispose();
pet p =new pet();
p.setVisible(true);
p.pack();
p.setLocationRelativeTo(null);
p.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
if(e.getSource()==btn2)
{
dispose();
Transaction t =new Transaction();
t.setVisible(true);
t.pack();
t.setLocationRelativeTo(null);
t.setExtendedState(JFrame.MAXIMIZED_BOTH);
CloseFrame();
}
}
catch(Exception e1)
{}
}
这是您程序的框架吗?还是JDialog?JDialog应该对dispose((没有问题。您可以使用frame.dispose()
以这种方式处理主框架。但前提是这是你唯一的框架。在GUI中,您可能永远不会使用多个帧。JDialog是使用其他窗口的方法。
我还看到您尝试使用getSource()
方法编写Actionlistener。我建议您为此明确使用一个新类。则只需使用按钮本身创建一个CCD_ 3。
MyListener
类的第一行是:
public class MyListener implements ActionListener
。如果你想了解这一点,我建议你阅读抽象类和方法、面向对象编程和接口。
这对你有帮助吗?