问下画图的问题。。。。

沉珂 2006-05-05 02:01:27
我在一个协同编辑系统,
白板上用JTextArea来实现文本的编辑,
但同时还得实现画图,
比如画直线,椭圆,矩形什么的,
还得可以改变这些图形得大小和位置,
用Graphics2D 来画这些图形,
那么jpanel和jTextarea要怎么个放法才能实现我要得功能
最后就象word一样,可以画图也可以写问题。
就象是在jTextArea上画一样。。。。
...全文
159 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
UnAgain 2006-05-08
  • 打赏
  • 举报
回复
我不用QQ,我用MSN:tl21cen@hotmail.com
沉珂 2006-05-08
  • 打赏
  • 举报
回复
我知道要怎么做了。。。
只要把jTextArea设置为透明的,这样画在jpanel上的图案就可以看到了,
通过监听鼠标的动作来改变图案的大小就可以了
我刚才试了下画在jlabel上,
但是由于jTextArea没设为透明,
所以还是看不到效果

谢谢UnAgain,也谢谢diannaomingong
沉珂 2006-05-07
  • 打赏
  • 举报
回复
UnAgain你Q多少?
能不能加我下,谢谢
886922
沉珂 2006-05-07
  • 打赏
  • 举报
回复
问下楼上的,图画在panel上什么意思?
UnAgain的方法不是把图画在jlabel上吗?
diannaomingong 2006-05-07
  • 打赏
  • 举报
回复
图画到panel上
沉珂 2006-05-07
  • 打赏
  • 举报
回复
To UnAgain:在一个JPanel中,使用JTextArea或JTextField编辑显示文字,使用JLabel画图。

请问要怎么把直线画在jlabel上呢?
diannaomingong 2006-05-06
  • 打赏
  • 举报
回复
是哦,用JTextArea比较方便
diannaomingong 2006-05-05
  • 打赏
  • 举报
回复
楼主说的我看得不是很明白

如果是作个白板上面可以画图也可以写字

class DrawPanel extends Panel implements MouseListener

作白板,监视鼠标坐标,如果鼠标选取了文字工具且在白板上某点按下,则在该点生成个JLabel即可

JLabel换行可以在里面加<br>
UnAgain 2006-05-05
  • 打赏
  • 举报
回复
这个东东很复杂。

首先,如果想达到象word一样图文一起显示,不能用JTextArea,而要用JTextPane。
其次,即使用JTextPane,也不能做到既能编辑文字,又能画图。你需要另外作一个部件,专门画图,并把画好的图显示到JTextPane里。

如果内容少的话,用Graphics2D也能做到。但是很麻烦,你需要自己画光标,记住每个文本很图形的位置及内容。

倒是也有简单办法(也不简单)。在一个JPanel中,使用JTextArea或JTextField编辑显示文字,使用JLabel画图。
把JPanel的布局管理器设置为null。选择要放置的部件,JTextField或JLabel,在点击鼠标时创建并放置到JPanel,使用鼠标还可以拖动这些子部件。
然后,你就可以在JTextField上写字,在JLabel上画图(当然,是继承JLabel,画图代码自己写)。
每个子部件能记忆自己的内容,JPanel记忆每个部件的类型和位置,以便存档。

计算机性能好,内容不多的情况下,这应该是个最好的办法。
如果你是初学者的话,建议放弃。
UnAgain 2006-05-05
  • 打赏
  • 举报
回复
To: diannaomingong(电脑民工)
你怎么编辑JLabel里的文字?自己写代码?那为什么不直接用JTextField或JTextArea呢?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧