我正在制作一个绘画程序,但在弄清楚如何制作文本工具时遇到了一些麻烦。我想要做的是单击并拖动以使文本框出现在画布上。问题是我不希望它只是一个漂浮在我的画布组件上的 JTextComponent。这会导致当我移动它时边框闪烁的问题,当我的鼠标就在它旁边时,我的光标的一部分看起来像是在文本框下方。
我要做的是创建一个 JTextArea,然后根据我的鼠标相对于画布上文本框的位置触发 mouseEvents。画布上的那个实际上只是我没有添加到任何组件的实际 JTextArea 的绘制表示(使用 .getGraphics())。这样做的问题是你不能调用 .getGraphics() 除非组件显示在屏幕上。
我试图避免仅仅为了这样的事情重新创建整个 JTextComponent 代码,看起来它应该很简单。
有没有人对此问题有任何解决方案或替代想法?