Java 如何将一个jTable双击鼠标事件应用于同一包中的不同JFrame
我在jFrame中有一个名为“StudentSearching Form”的jTable。我想做的是,如果用户不记得学生Id,请转到学生搜索表单并按姓名搜索,然后获取属于筛选名称的学生Id,并将其设置到名为“StudentRegistration表单”的框架中的jTextField中。到目前为止,我已经做得很好了。但我遇到的问题是,根据我的代码,我只能将Student_Id设置为名为“StudentRegistration form”的框架。我有几个不同的框架,比如“学生出席表”、“学生付款表”、“学生考试表”,它们应该通过搜索上面提到的同一个“学生搜索表”来获取学生Id 所以请在这方面帮助我。。。。。 多谢各位 这是我的密码:Java 如何将一个jTable双击鼠标事件应用于同一包中的不同JFrame,java,swing,netbeans,jtable,Java,Swing,Netbeans,Jtable,我在jFrame中有一个名为“StudentSearching Form”的jTable。我想做的是,如果用户不记得学生Id,请转到学生搜索表单并按姓名搜索,然后获取属于筛选名称的学生Id,并将其设置到名为“StudentRegistration表单”的框架中的jTextField中。到目前为止,我已经做得很好了。但我遇到的问题是,根据我的代码,我只能将Student_Id设置为名为“StudentRegistration form”的框架。我有几个不同的框架,比如“学生出席表”、“学生付款表”
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代码来实现。
Im使用netbeans IDE..定义自己的监听器,例如,
ChangeSelectedStudentListener
只使用一种方法
void studentIdChanged(int newId);
让所有依赖表单实现侦听器。在更改时,他们应该更新其内部状态(更改文本字段值,从数据库检索一些依赖于id的数据等)
在搜索表单中,定义将所有aded侦听器存储在列表中的addChangeSelectedStudentListener()
方法。所有依赖表单都应该调用addChangeSelectedStudentListener(this),以便注册其侦听器。双击表格,遍历侦听器列表,并为每个项目调用studentIdChanged(clickedStudentId)
因此,您的所有表单都会收到有关学生变更的通知,并可以更新其状态。listener on where???listener on where????到目前为止,我所做的一切都很好。但是我需要像上面提到的那样改进它。获取所需框架上的学生Id。只能使用上述代码进入SMStudentRegistrationForm框架。如果我能放一个“如果声明”,可以从我来到这个“学生搜索表”框架的地方进行选择(点击链接到上述框架中“学生搜索表”的按钮,例如:如果我是通过点击“学生付款表”框架的按钮来的,那么我应该在该框架上获得学生Id。)那会更有帮助。为了更好的帮助,你应该在这里发布一个SSCCE。我想所有的表格都在改变。但我只需要更改所需的表单。一旦我从搜索表单(通过双击)获得学生Id,它应该只更改我想要在自己的文本字段中获得学生Id的所需表单。