gpt4 book ai didi

java并发条件合适的用法

转载 作者:行者123 更新时间:2023-12-01 13:32:13 26 4
gpt4 key购买 nike

在应用程序中,当按下“创建”按钮时,会弹出另一个子表单。主表单会等待子表单填满并单击子表单中的提交按钮,然后获取在子表单中输入的数据进一步加工。

我面临的问题是单击“创建”按钮后程序挂起,但子窗体仍然显示。

waitTillFilled 是应用程序中使用的条件。

主窗体中的 Action 监听器

if(e.getSource()==create)

{ try
{
lock.lock();
try
{

model=(DefaultTableModel)table.getModel();
Form newForm=new Form();
System.out.println("Waiting to fill the sub form");
waitTillFilled.await();
System.out.println("Waiting done....");
Vector<String> newData=newForm.returnFields();
System.out.println("added row is "+newData);
model.addRow(newData);
System.out.println("Table created"+data);
}
finally
{
lock.unlock();
}
}
catch (InterruptedException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
Thread.currentThread().interrupt();
}

}

子表单中的 Action 监听器

if(e.getSource()==submit)
{
String n,p,em;
n=name.getText();
p=phone.getText();
em=email.getText();
rowData=new Vector<String>();
rowData.add(n);
rowData.add(em);
rowData.add(p);
System.out.println("added row is "+rowData);
waitTillFilled.signal();

}

最佳答案

您正试图在这里重新发明轮子。您应该只使用 JOptionPane 创建一个返回某些用户输入的模式对话框。请参阅http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html

关于java并发条件合适的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21503188/

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