[英]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.