1

私は歯科医のために Java スイングでデスクトップ アプリを作成しています。私のアプリでは、画像は 16 ビット tiff グレースケール画像です。JPanel で画像を描画します。myImageに移動可能なテキストエリアを追加または配置したい。そのため、医師は画像に書き込み、保存することができます。そのため、医師は次にその画像を開いたときに、患者の画像を簡単に理解できます。以下に画像の例を1つ示します。

ここに画像の説明を入力

4

2 に答える 2

2

いくつかのオプションがあります:

  • ここに示すように、サイズ変更可能なコンテナーで透明なテキスト コンポーネントを使用します。

  • ここComponentResizerで引用された@camickr のを透明なテキスト コンポーネントと共に使用します。

  • 、ここで引用、または、ここImageJで引用などの既存の実装を調べますJHotDraw

  • ここに示すドラッグ可能なハンドルを使用して独自の実装を開発します。

後者の方が柔軟性がありますが、私は実装を容易にするためにコンポーネント アプローチを好む傾向があります。

于 2012-12-15T12:55:11.317 に答える
0

JPanel の paint メソッドをオーバーライドして (画像を背景として描画するようにするため)、通常どおり 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 に答える