2012-02-25 80 views
-1

我正在研究一個非常基礎的Java視頻播放器項目,這是我的課程。我有2個JTextPanes:1用於列出所有視頻,1用於創建播放列表。如何使JTextArea或JTextPane列可點擊?

到目前爲止,我可以將視頻添加到播放列表的唯一方法是將視頻ID(來自數據庫)放入文本字​​段中並單擊添加按鈕。但是我希望我的播放器具有將視頻添加到JTextPane的功能,或者如果您認爲更好(對於播放列表),則可以通過單擊JTextPane(所有視頻)的列來添加視頻。我想我必須將鼠標監聽器添加到JTextPane。

但是,如何將鼠標監聽器添加到每個JTextPane列?任何幫助&建議非常感謝!

在此先感謝!

+1

行/列位置在您的所有視頻列表,你列出每行一個視頻?如果是這樣,你不是說你想要添加一個鼠標監聽器到每一行(行),而不是每列?所有視頻的列表可能會更好地在JList中進行管理,而不是JTextPane。 – 2012-02-25 00:41:07

回答

4

您可能想更改爲使用JList,因爲您正在處理所有視頻的列表。

然後,您可以輕鬆找到用戶選擇的視頻,並將其添加到播放列表中。

您不能將MouseListener添加到JTextPane的特定行(您是指行還是列?),而只能將其作爲一個整體。但是,您可以使用JTextPane.viewToModel(Point p)找出用戶點擊文本的位置。然而,這可能是一個不必要的複雜的列表清單。

+0

感謝您的回覆!首先,對我的錯誤感到抱歉。我實際上是換行!我目前正在使用ArrayList在textarea中列出視頻(希望更改爲合適的視頻)並在jtextpane中創建一個列表。如果我使用JList.getSelectedItem()或JTextPane.viewToModel(Point p),我應該在哪裏添加它(構造函數或執行操作?),因爲沒有按鈕/鼠標偵聽器關聯?示例會很好:-) – alien45 2012-02-25 00:56:12

+0

當您單擊按鈕將視頻放入播放列表時,附加到該按鈕的mouselistener可以調用JList上的getSelectedItem()以查看選擇的內容(如果有的話)。既然這是你的課程,我認爲你應該自己去做,並且如果你被困住了,可以問一個新的問題。 – DNA 2012-02-25 01:01:21

+0

我會在早上再試一次,可能會再次回來:-)無論如何,感謝您的幫助! – alien45 2012-02-25 01:18:42