我在这里有三个班级。第一个是管理页面,用户可以通过下拉框选择在系统上添加,更新或删除员工。当用户从组合框中选择三个选项之一时,JFrame(员工)会提供必要的字段来执行他们的任务,管理框架仍将显示在其后面。在此框架上有一个“取消”按钮。当他们单击取消按钮时,此框架必须关闭,但仍保持管理框架打开。该按钮是从单独的类(empClass)生成的,以显示在员工框架上。我现在的问题是我正在努力获得处理员工框架的按钮,但是在尝试这种方法的几种方法中,它无法工作。每次运行应用程序时,一种方法产生错误,另一种方法导致应用程序崩溃/冻结,每当我尝试选择一个选项来执行员工框架时,我当前实现的代码根本不执行任何操作。我认为问题是与表格沟通的问题,但我不完全确定。请帮助,因为我一直在努力这几个小时,互联网提供绝对没有用。大多数资源都是以我用各种方式尝试过的dispose()
方法,但我尝试过的所有方法都不起作用,导致应用程序崩溃或导致错误发生。即使是其他类似的问题也没有帮助我。
我尝试从员工框架调用按钮尝试将该功能链接到“取消”按钮。这是我在empClass中实现的代码:
public void disposeof()
{
employees empp = new employees();
empp.dispose();
}
private void cancelActionPerformed(java.awt.event.ActionEvent evt)
{
disposeof();
}
以下是员工编码:
public class employees extends javax.swing.JFrame {
empClass ec = new empClass();
adminPage ap = new adminPage();
public employees() {
initComponents();
getContentPane().add(ec.getpanel());
this.add(ec.getpanel());
this.add(ec.lbltitle);
this.add(ec.cancel);
this.add(ec.bfunction);
this.add(ec.empList);
}
答案 0 :(得分:2)
由于您没有提供JFrame
的代码,所以我猜问题出现在JFrame
的代码中。您可能正在为您的员工类设置setDefaultCloseOperation(JFrame .EXIT_ON_CLOSE)
,因为它是静态属性,因此它将关闭所有JFrame。您应该设置setDefaultCloseOperation(employees.DISPOSE_ON_CLOSE)
或setDefaultCloseOperation(employees.HIDE_ON_CLOSE)
。
然后在触发活动时,您可以拨打empp.dispose();
或setVisible(flase)
。
答案 1 :(得分:1)
首先,只使用一个JFrame并将JDialog用于您可能希望看到的基础其他窗口。在JDialog上,使用setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE)
。
答案 2 :(得分:0)
另一种方法是使用import
隐藏框架。