有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将一个jTable双击鼠标事件应用于同一个包中的不同JFrame

我在jFrame中有一个名为“StudentSearching Form”的jTable。我想做的是,如果用户不记得学生Id,请转到学生搜索表单并按名称搜索,然后获取属于筛选名称的学生Id,并将其设置到名为“StudentRegistration form”的框架中的jTextField中。到目前为止,我已经做得很好了。但我遇到的问题是,根据我的代码,我只能将Student_Id设置为名为“StudentRegistration form”的框架。我有几个不同的框架,比如“学生参与表格”、“学生付款表格”、“学生考试表格”,它们应该通过搜索上面提到的同一个“学生搜索表格”来获取学生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框架上获取学生Id。 如果(按StudentExams表单按钮){ 我应该能够在“StudentExams表单”jTextField中输入学生Id } 我想这将有助于解决这个问题。但我不知道如何使用java代码实现。 我正在使用netbeans IDE


共 (1) 个答案

  1. # 1 楼答案

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

    void studentIdChanged(int newId);
    

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

    在搜索表单中定义addChangeSelectedStudentListener()方法,该方法将所有aded侦听器存储在一个列表中。所有依赖表单都应该调用addChangeSelectedStudentListener(this),以便注册其侦听器。双击表格,遍历listeners列表,并为每个项目调用studentIdChanged(clickedStudentId)

    因此,您的所有表格都会收到关于学生变更的通知,并可以更新其状态