如何使 JTextArea 具有可点击的按钮

how to make a JTextArea have clickable buttons

正如标题所说,我正在努力使我的 JTextArea 有一些字符串,以便我可以调用其他函数,例如各种超链接,可以吗?

作为参考,我想知道任何 Tutorialspoint 教程的左侧是如何制作的,但在 Java。

PS:我正在使用 CardLayout

编辑:Something like this

忘记使用 JTextArea。看看 JList 代替。这是 Swing 的基本列表 class。它支持列表中的一项或多项的 selection。尽管列表通常由字符串组成,但也可以创建包含任何可以显示的对象的列表。

尽管 JList 本身可以正常工作,但大多数时候您会将 JList 包裹在 JScrollPane 中, 如此长的列表将自动滚动。


一个JList生成一个ListSelectionEvent when the user makes or changes a selection. This event is also generated when the user deselects a n item. It is handled by implementing ListSelectionListener。这个监听器只指定了一个方法,叫做:

void valueChanged(ListSelectionEvent le) 

这里,le是对生成事件的对象的引用。尽管 ListSelectionEvent 确实提供了一些它自己的方法,但您通常会询问 JList 对象本身以确定发生了什么。


默认情况下,JList 允许用户 select 列表中的多个项目范围,但您可以通过调用 更改此行为setSelectionMode(int),由JList定义。传递给此方法的整数必须是 ListSelectionModel 接口定义的值之一:

SINGLE_SELECTION
SINGLE_INTERVAL_SELECTION
MULTIPLE_INTERVAL_SELECTION

您可以通过调用 getSelectedValuesList(), or, if you are using single selection, you can call getSelectedValue() 获得 selected 值。一旦您 select 编辑了值,您就可以相应地调用专用于 that/those 对象的方法。


最后一个提示:在 Java 中,它们被称为方法,而不是函数 ;)

编程愉快!