标题有点令人困惑,但我将使用Java和Jframe。基本上,我希望能够单击表单上的任何位置并显示“文本区域/框”(可能使用JTextField或JTextArea?)。我希望用户能够编辑,删除和移动此字符串。
我在想我需要一个actionlistener来监听表单上的点击。每次单击都将调用要创建的新文本“框”。我不知道如何让这个“盒子”可由用户编辑,删除或移动。
我需要一种存储字符串和协调数据的方法。简单地扩展JTextField或JTextArea以向它们添加协调信息是一个好主意吗?我看到swing是基于事件的,所以我需要某种触发器来“保存”文本(正在考虑输入键,但我意识到我希望用户能够输入多行字符串)。
任何想法都将不胜感激。我熟悉Java,但只对UI部分有一点经验。
答案 0 :(得分:2)
而不是ActionListener
,您需要MouseListener
来跟踪点击次数。
听起来你需要一个未经装饰的JInternalFrame
,JDesktopPane
上有一个文本框。但是,我不认为你可以创建一个未修饰的JInternalFrame,可能从一个带有TextBox的普通JInternalFrame
开始,并在桌面窗格上点击鼠标创建新的框架。然后,看看您是否可以使JInternalFrame
更像Window
。
另一种途径是自定义组件,可以完成您需要的所有操作。这是可能的,只需要更多自定义代码。