2012-02-25 83 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