首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >屏幕外的JTextComponent

屏幕外的JTextComponent
EN

Stack Overflow用户
提问于 2014-04-14 07:25:41
回答 1查看 68关注 0票数 1

我正在编写一个paint程序,在弄清楚如何制作文本工具时遇到了一些麻烦。我想要做的是点击并拖动,使一个文本框出现在画布上。问题是,我不希望它只是一个浮动在我的画布组件上的JTextComponent。当我移动边框时,这会导致边框闪烁,当鼠标靠近文本框时,光标的某些部分看起来就像在文本框下面一样。

我要做的是创建一个JTextArea,然后根据鼠标相对于画布上文本框的位置触发mouseEvents。画布上的那个实际上只是我没有添加到任何组件中的实际JTextArea的绘制表示(使用.getGraphics())。这样做的问题是,除非组件显示在屏幕上,否则无法调用.getGraphics()。

我试图避免重新创建整个JTextComponent代码,就像这样,看起来应该很简单。

有没有人对这个问题有任何解决方案或替代方案?

EN

回答 1

Stack Overflow用户

发布于 2014-05-12 00:55:49

你可以做一个JTabbedPane。一个选项卡用于paint面板,另一个选项卡用于textPane。和你可以给某个按钮的动作监听器。textComponent监听器应该给paint方法的图形一个Graphics.drawString(...);这个字符串就是actionlistener提供的。在你的画图程序中移动字符串比较困难,但是你可以有一个识别鼠标拖动的mouseListener,它将设置你的Graphics.drawString(...)的新的(x,y)点;

希望这能帮上点忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23049692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档