2010-01-05 49 views
1

我需要幫助實現以下行爲:當一排在這個下面—所示JTableJPanel一個—代碼片斷用戶雙擊程序應該將用戶重定向到JPanel B.乙方應包含有關的任何一些數據在JTable的行上。如何根據雙擊我的JTable的位置來生成新面板?

private void TableMouseClicked(java.awt.event.MouseEvent evt) { 
if(evt.getClickCount() == 2){ 
    System.out.println("Double click"); 
} 
} 

回答

1

你是什麼意思,「重定向用戶?」

如果另一個面板已經可見,您可以在第二個面板上使用setFocus()在那裏切換焦點(雖然這有點不尋常的行爲,可能會給用戶帶來負面影響)。

如果其他面板不可見但在GUI中有自己的空間,那麼我想你只是簡單地將其顯示出來。如果必須覆蓋用戶剛剛單擊的面板,則您希望使用CardLayout在同一空間中交替顯示兩個面板。

+0

我的意思是雙擊一行(位於JTabbedPane的一個選項卡中的jTable中)會自動關注它在同一個JTabbedPane的不同選項卡中的任何內容:) – Maxim 2010-01-05 13:56:12

+0

嗯,好的。然後,您需要在雙擊處理程序中實現兩件事:(1)將JTabbedPane翻轉爲您想要的,然後(2)將setFocus()放在所需的元素上。如果這是另一個JTable,則需要JTable上的setFocus()以及JTable的SelectionModel中的setSelection。 – 2010-01-05 14:17:39

+0

好的....有任何建議,我怎麼做翻轉部分,請? :)) – Maxim 2010-01-06 06:03:23

相關問題