1

我正在为牙医制作 java swing 桌面应用程序。在我的应用程序中,我的图像是 16 位 tiff 灰度图像。我在 JPanel 上绘制图像。我想在 myImage 上添加或放置可移动文本区域。这样医生就可以在图像上书写并保存。这样当医生下次打开该图像时,他/她可以很容易地了解患者的图像。我在下面给出了 1 个图像示例。

在此处输入图像描述

4

2 回答 2

2

你有几个选择:

  • 在可调整大小的容器中使用透明文本组件,如图所示

  • 使用@camickr's ,在此处ComponentResizer引用,带有透明文本组件。

  • 研究现有实现,例如ImageJ在此处引用或在此处JHotDraw引用。

  • 使用此处说明的可拖动手柄开发您自己的实现。

尽管后者更灵活,但我更倾向于使用组件方法以便于实现。

于 2012-12-15T12:55:11.317 回答
0

我会覆盖 JPanel 的绘制方法(使其将图像绘制为背景)并像往常一样向其添加 JTextArea。这样,您可以创建自己的 Graphics 对象,调用paint,然后将您的 Graphics obj 保存为图像。

public class MyPanel extends JPanel {

    JTextArea myTextArea = new JTextArea();

    public MyPanel {
        // ...
       add(myTextArea, new GridBagConstraints(....));
       // ...
    }

    @Override
    public void paint(Graphics g) {
        g.drawImage(.....);
        super.paint(g);
    }
于 2012-12-14T15:41:33.803 回答