gpt4 book ai didi

java - 如何在新打开的 jframe 上关闭以前的 jframe

转载 作者:行者123 更新时间:2023-11-30 22:27:02 26 4
gpt4 key购买 nike

我在一次单击按钮中处理两个 JFrame 时遇到问题。当单击 SUC_Forms 中的“ADD RECORDS”按钮时,我有 2 个 JFrame(SUC_Forms 和 add_suc),另一个新的 JFrame 将显示哪个是包含用于注册/归档的文本框的 add_suc jframe。当我按确定以验证并将所有数据插入数据库时​​,将弹出一个 JDialogbox 以进行确认。一旦我点击“确定”,两个 JFrames 都会处理,然后 SUC_Forms-JFrame 将再次显示包含更新的数据。我对当前 JFrame 如何访问以前的 Activity JFrame 有疑问。你能帮我解决这个问题吗?提前致谢..

这是我的打印屏幕。

enter image description here

SUC_Forms 代码:

    add_suc add = new add_suc();
add.show();

add_suc代码:

private void btn_okActionPerformed(java.awt.event.ActionEvent evt) {

    int verify = JOptionPane.showConfirmDialog(rootPane,"Are you sure you want to add this record?","", JOptionPane.YES_NO_OPTION);

if(verify == 0)
{

String moa_id = txt_id.getText();
Object region = cmb_region.getSelectedItem();
String holder = txt_holder.getText();
String brgy = txt_brgy.getText();
String municipality = txt_municipality.getText();
String province = txt_province.getText();
String president = txt_president.getText();
Object month = cmb_month.getSelectedItem();
Object day = cmb_day.getSelectedItem();
String year = txt_year.getText();
String area = txt_area.getText();
String allotment = txt_allotment.getText();
String activities = txt_activities.getText();
String status = txt_status.getText();
String fill = "";

if(moa_id.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill Moa ID!", "Message",JOptionPane.ERROR_MESSAGE,null);
}

if(region.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please select region!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(holder.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill holder!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(brgy.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill barangay!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(municipality.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill municipality!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(province.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill province!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(president.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill president/representative!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(month.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please set the month of Date Approved field!", "Message",JOptionPane.ERROR_MESSAGE,null);
}

else if(day.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please set the date of Date Approved field!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(year.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please set the year of Date Approved field!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(area.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill area!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(allotment.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill allotment!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(activities.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill activities/roles!", "Message",JOptionPane.ERROR_MESSAGE,null);
}
else if(status.equals(fill))
{
JOptionPane.showMessageDialog(rootPane, "Please fill status!", "Message",JOptionPane.ERROR_MESSAGE,null);
}

else{

try{

st = con.createStatement();

String query = "insert into moa_suc values('"+moa_id+"','"+region+"','"+holder+"','"+brgy+"','"+municipality+"','"+province+"','"+president+"','"+month+"','"+day+"','"+year+"','"+area+"','"+allotment+"','"+activities+"','"+status+"')";

st.executeUpdate(query);

txt_id.setText("");
cmb_region.setSelectedItem(0);
txt_holder.setText("");
txt_brgy.setText("");
txt_municipality.setText("");
txt_province.setText("");
txt_president.setText("");
cmb_month.setSelectedItem(0);
cmb_day.setSelectedItem(0);
txt_year.setText("");
txt_area.setText("");
txt_allotment.setText("");
txt_activities.setText("");
txt_status.setText("");

JOptionPane.showMessageDialog(rootPane, "Successfully added to the record!", "Message",JOptionPane.INFORMATION_MESSAGE,null);
this.dispose();

}
catch(SQLException err){

System.out.println(err.toString());
}

}

}
else
{
JOptionPane.showMessageDialog(rootPane, "Sorry! No data added in the record!", "Message",JOptionPane.INFORMATION_MESSAGE,null);
}

}

最佳答案

由于要向其添加新记录的 JFrame 仍处于打开状态,因此您可以使用 SUC_Forms 中的方法,将新记录作为参数传递。要做到这一点,您必须在 add_suc 中获得对 SUC_Forms 的引用。例如,您可以在打开此框架时将此引用传递给 add_suc 的构造函数。然后您可以使用对 SUC_Forms 的引用调用该方法来添加记录。

你的构造函数看起来像这样:

add_suc(SUC_Forms parent)
{}

然后在 SUC_Forms 中创建如下方法:

public void addRecord(-here you pass the required parameters-)
{}

您在 add_suc 中的方法调用将是:

parent.addRecord(-parameters-);

希望对您有所帮助。

关于java - 如何在新打开的 jframe 上关闭以前的 jframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34895909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com