如何使JTextArea或JTextPane列可单击



我正在做一个非常基本的Java视频播放器项目,这是我的课程。我有2个JTextPanes:1个用于列出所有视频,1个用于创建播放列表。

到目前为止,我可以将视频添加到播放列表的唯一方法是将视频id(来自数据库)放在文本字段中,然后单击添加按钮。但我希望我的播放器能够通过单击JTextPane的列(所有视频),将视频添加到JTextPane,或者其他任何你认为更好的东西(对于播放列表)。我想我必须将鼠标侦听器添加到JTextPane中。

但是,如何将鼠标侦听器添加到JTextPane的每一列中呢?任何帮助&非常感谢您的建议!

提前感谢!

您可能想要更改为使用JList,因为您正在处理所有视频的列表。

然后,您可以使用JList.getSelectedItem()轻松找到用户选择的视频,并将其添加到播放列表中。

不能将MouseListener添加到JTextPane的特定行(你指的是行,而不是列吗?),只能添加到整个窗格。但是,您可以使用JTextPane.viewToModel(Point p)找到用户在文本中单击的位置。然而,这可能是一种不必要的复杂列表方式。

您可以使用它来获取JTextPane中的行/列位置http://java-sl.com/tip_row_column.html

最新更新