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