Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将一个jTable双击鼠标事件应用于同一包中的不同JFrame_Java_Swing_Netbeans_Jtable - Fatal编程技术网

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

Java 如何将一个jTable双击鼠标事件应用于同一包中的不同JFrame,java,swing,netbeans,jtable,Java,Swing,Netbeans,Jtable,我在jFrame中有一个名为“StudentSearching Form”的jTable。我想做的是,如果用户不记得学生Id,请转到学生搜索表单并按姓名搜索,然后获取属于筛选名称的学生Id,并将其设置到名为“StudentRegistration表单”的框架中的jTextField中。到目前为止,我已经做得很好了。但我遇到的问题是,根据我的代码,我只能将Student_Id设置为名为“StudentRegistration form”的框架。我有几个不同的框架,比如“学生出席表”、“学生付款表”

我在jFrame中有一个名为“StudentSearching Form”的jTable。我想做的是,如果用户不记得学生Id,请转到学生搜索表单并按姓名搜索,然后获取属于筛选名称的学生Id,并将其设置到名为“StudentRegistration表单”的框架中的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代码来实现。
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的所需表单。