0

我正在尝试使用 Jframe 创建一个在 java 中模拟 MS Paint 的代码。我想创建一个像 MS Paint 这样的字段的文本框,在其中拖动一个框并根据您的偏好设置它的大小。我所做的是首先绘制一个矩形,然后通过鼠标事件侦听器获取尺寸并将这些值传递给创建给定大小和宽度的 JtextArea 的函数。但是,我需要扩展 Jframe 类,它会在已经存在的框架之上创建一个新框架。我尝试将我的原始框架作为参数传递给不起作用的 JtextArea。有没有办法在不扩展框架类的情况下实现 JtextArea?如果可能的话,任何相关的例子来绘制一个类似于 MS Paint 的文本框。请注意,我不想使用 Graphics.drawstring 方法。谢谢。

4

2 回答 2

1

由于您不想drawString()直接使用,java.awt.font.TextLayout因此可能是渲染文本的最佳选择。

于 2013-10-29T10:48:44.323 回答
1

创建一个临时JTextArea并添加到您的绘图面板,其中包含要放置在矩形上的空布局。

编辑完成后(输入文本)删除临时文本区域,获取用户输入的文本并将其绘制在原始矩形中。

于 2013-10-29T13:01:51.870 回答