繁体   English   中英

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

[英]how to apply one jTable double click mouse event to different jFrames in same package

我在名为“ StudentSearching Form”的jFrame中有一个jTable。 我想做的是,如果用户忘记了Student_Id,请转到Student Search表单并按名称搜索,然后您获得属于过滤名称的Student_Id,并将其设置到名为“ StudentRegistration form”的框架中的jTextField中。到目前为止,这些东西做得还不错。 但是我遇到的问题是根据我的代码,我只能将Student_Id设置为称为“ StudentRegistration表单”的框架。 我有几个不同的框架,例如“学生出勤表”,“学生付款表”,“学生考试表”,应该通过搜索上述相同的“ StudentSearching表单”来获取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。 如果(按下了“ StudentExams表单jButton”){我应该能够将Student_Id输入到“ StudentExams表单” jTextField}这将有助于解决我想的问题。 但是不知道如何使用Java代码来做到这一点。 我正在使用netbeans IDE ..

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

void studentIdChanged(int newId);

让所有从属表单实现侦听器。 更改后,他们应该更新其内部状态(更改文本字段值,从DB中检索一些与ID相关的数据等)。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM