2012-12-10 84 views
1

我得到了一個Main類,另一個類擴展了一個jFrame,它直接包含一個jTable。我有點想停止執行代碼,直到發生什麼事情(=用戶按Enter鍵)。然後我想從我在其他類MyJFrame中持有的表中選擇行的值。至於現在,我想實現這個關於這樣的:避免代碼被執行,直到監聽器被調用?

ArrayList<String[]> result = new ArrayList<String[]>(); 
String[ ] columns = new String[] {"h1", "h2", "h3" }; 

result.add(new String[]{ "some", "test", "values" }); 
result.add(new String[]{ "some", "test", "values" }); 

ArrayListTableModel model = new ArrayListTableModel(result, columns); 

//waiting for enter... 

MyJFrame frame = new MyJFrame(model); 
int row = frame.getActiveRow(); 
selectedData = result.get(row); 

PS:我希望你明白我的問題,我遇到了一些麻煩解釋它...

+0

它被稱爲'Listeners'檢查您可以添加到'JTable' –

+0

,聽衆yeaaah ..我也跟他們解決了這個問題,這個問題僅僅是「等待輸入」已後的其他代碼得到執行,我有問題,以避免此.. –

+0

@NikolayKuznetsov改變了這個問題。希望現在更清楚。 –

回答

1

..extends一個JFrame ,..我則想從我拿着我的其他類MyJFrame表中選定行的值..

The Use of Multiple JFrames, Good/Bad Practice?這些幀的一個可能應該是一個模式對話框解決眼前問題。該對話框將在打開時「暫停」程序。

有關「等待回覆」的示例,請參見this answer

+0

啊,你是我的英雄!我很難解釋,但很酷,有人可以幫我反正。我試圖在下次希望時發佈更好的問題。謝謝你,先生! –

+0

很高興你把它分類。我懷疑我在看到*「other class MyJFrame」*後知道答案,並且熟悉這個問題。 ;) –

+0

哈!是的,這是另一點..我知道它有點凌亂,只是不知道我在做什麼不好的練習。我會說:2問題解決了一次:) –