簡體   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