gpt4 book ai didi

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

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

我在 jFrame 中有一个名为“StudentSearching Form”的 jTable。我想做的是,如果用户不记得 Student_Id ,请转到学生搜索表单并按名称搜索,然后获取属于过滤名称的 Student_Id 并将其设置到框架中名为“StudentRegistration form”的 jTextField 中。到目前为止,这些事情都做得很好。但我遇到的问题是根据我的代码,我只能将 Student_Id 设置为名为“StudentRegistration 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)可以转到“学生搜索表单”并在所需框架上获取 Student_ID。只能在 SMStudentRegistrationForm 框架上获取 Student_Id。如果(按下学生考试表格 jButton){我应该能够将 Student_Id 输入到“StudentExams Form”jTextField}这将有助于解决我认为的问题。但不知道如何使用java代码来做到这一点。我正在使用 netbeans IDE ..

最佳答案

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

void studentIdChanged(int newId);

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

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

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

关于java - 如何将一个jTable双击鼠标事件应用于同一包中的不同jFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19508713/

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