单击时在 Java 中添加类似动态文本区域的对象

Posted

技术标签:

【中文标题】单击时在 Java 中添加类似动态文本区域的对象【英文标题】:on click add dynamic text area -like object in Java 【发布时间】:2011-08-21 18:28:18 【问题描述】:

标题有点混乱,但我将使用 Java 和 Jframe。基本上,我希望能够单击表单上的任何位置并显示“文本区域/框”(也许使用 JTextField 或 JTextArea ?)。我希望用户也能够编辑、删除和移动这个字符串。

我想我需要一个动作监听器来监听表单上的点击。每次点击都将要求创建一个新的文本“框”。我不确定如何使这个“框”可由用户编辑、删除或移动。

我也需要一种方法来存储字符串和坐标数据。简单地扩展 JTextField 或 JTextArea 以向它们添加坐标信息是个好主意吗?我看到摇摆是基于事件的,所以我需要某种触发器来“保存”文本(正在考虑输入键,但我意识到我希望用户能够输入多行字符串)。

任何想法将不胜感激。我熟悉 Java,但对 UI 部分只有一点经验。

【问题讨论】:

【参考方案1】:

您需要MouseListener 而不是ActionListener 来跟踪点击次数。

听起来您需要一个未经修饰的JInternalFrame,并在JDesktopPane 上包含一个文本框。但是,我不认为您可以创建一个未装饰的 JInternalFrame,也许从一个普通的 JInternalFrame 开始,其中包含一个 TextBox,然后在桌面窗格上单击鼠标创建新框架。然后看看你是否可以让JInternalFrame 更像Window

另一个路由是一个自定义组件,它可以满足您的一切需求。这是可能的,只是更多的自定义代码。

【讨论】:

谢谢!我一直在寻找并找到了一些代码来让事情变得可拖动 (***.com/questions/874360/…)。现在我只需要想办法添加文本组件!

以上是关于单击时在 Java 中添加类似动态文本区域的对象的主要内容,如果未能解决你的问题,请参考以下文章

如果focusout,我必须调用一个api,用于保存输入文本区域的多个动态字段集

向 Django 添加文本区域的正确方法是啥?

获取动态生成的文本区域的值

如何将默认文本添加到 html 文本区域的开头?

如何在移动设备上调整灵活文本区域的大小?

为啥tinymce没有出现在动态添加的文本区域