标题有点困惑,但我将使用 Java 和 Jframe。基本上,我希望能够单击表单上的任意位置并显示“文本区域/框”(可能使用 JTextField 或 JTextArea ?)。我希望用户也能够编辑、删除和移动这个字符串。
我想我需要一个 Action 监听器来监听表单上的点击。每次点击都会要求创建一个新的文本“框”。我不确定如何使用户可以编辑、删除或移动此“框”。
我也需要一种方法来存储字符串和坐标数据。简单地扩展 JTextField 或 JTextArea 以向它们添加坐标信息是否是个好主意?我看到 swing 是基于事件的,所以我需要某种触发器来“保存”文本(正在考虑输入键,但我意识到我希望用户能够输入多行字符串)。
如有任何想法,我们将不胜感激。我熟悉 Java,但对 UI 部分只有一点经验。
最佳答案
您需要一个MouseListener
来代替ActionListener
来跟踪点击。
听起来您需要一个未修饰的 JInternalFrame
,在 JDesktopPane
上有一个文本框。但是,我不认为您可以创建一个未修饰的 JInternalFrame,也许可以从一个带有 TextBox 的普通 JInternalFrame
开始,然后在桌面 Pane 上单击鼠标时创建新的框架。然后看看是否可以使 JInternalFrame
更像一个 Window
。
另一条路线是一个自定义组件,可以完成您需要的一切。这是可能的,只是需要更多自定义代码。
关于java - 单击在 Java 中添加动态文本区域类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938606/