0

我在名为“StudentSearching Form”的 jFrame 中有一个 jTable。我想要做的是,如果用户不记得 Student_Id ,请转到 Student Searching 表单并按名称搜索,然后您获取属于过滤名称的 Student_Id 并将其设置为名为“StudentRegistration form”的框架中的 jTextField 。我到目前为止,这些东西都做得很好。但是我遇到的问题是根据我的代码,我只能将 Student_Id 设置为名为“StudentRegistration form”的框架。我有几个不同的框架,如“StudentAttendance Form”、“Student Payment Form”、“StudentExams Form”,应该通过搜索上述相同的“StudentSearching Form”来获取 Student_Id。

所以请帮助我......谢谢。

这是我的代码:

private void jTable1MousePressed(java.awt.event.MouseEvent evt) {                                     
int rw =jTable1.getSelectedRow();
String k = jTable1.getValueAt(rw, 0).toString();

if(evt.getClickCount()==2){

SMStudentRegistrationForm sms= new SMStudentRegistrationForm();


this.dispose();
sms.setVisible(true);
sms.jTextField1.setText(k);


}


}

在上述每个框架中都有一个链接(jButton)可以转到“StudentSearching Form”并在所需的框架上获取 Student_ID。只能在 SMStudentRegistrationForm Frame 上获取 Student_Id。If(StudentExams Form jButton pressed){ 我应该可以将 Student_Id 输入到“StudentExams Form” jTextField } 这将有助于解决我认为的问题。但不知道怎么做,使用java代码。我正在使用 netbeans IDE ..

4

1 回答 1

1

定义自己的监听器,例如ChangeSelectedStudentListener只用一种方法

void studentIdChanged(int newId);

让你所有的依赖表单实现监听器。在更改时,他们应该更新其内部状态(更改文本字段值,从数据库中检索一些 id 相关数据等)。

在您的搜索表单中定义addChangeSelectedStudentListener()将所有添加的侦听器存储在列表中的方法。您所有的依赖表单都应该调用 addChangeSelectedStudentListener(this) 来注册他们的监听器。双击表遍历侦听器列表并为每个项目调用studentIdChanged(clickedStudentId)

因此,您的所有表格都会收到有关学生更改的通知,并且可以更新他们的状态。

于 2013-10-22T05:39:13.673 回答