2013-05-13 16 views

答えて

11

あなたが使用することができBufferedImage

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 
Graphics2D graphics2D = image.createGraphics(); 
+0

私は答えが好きです - 画像を表示する方法? – necromancer

+2

JLabelによって表示されるImageIcon。 1 + –

+0

私が受け入れる答えが難しいという難しい選択肢、私は超シンプルさと超移植性のためにこれを選んだ。サーバー側だけでなくデスクトップ上でも動作します。このアプローチの唯一の欠点は、デバッグに使用できるマウスイベントをトラップできないため、デスクトップには理想的ではないということです。それは私が求めたものではありません。素晴らしい答えをありがとう! – necromancer

5

最も簡単で安全な方法はGraphicsの参照をpaintComponentにキャストし、必要に応じてキャストすることです。そうすれば、Objectは正しく初期化されます。この参照は、必要に応じて他のカスタムペイントメソッドに渡すことができます。

@Override 
public void paintComponent(Graphics g) { 
    super.paintComponent(g); 
    Graphics2D g2d = (Graphics2D)g; 
    ... 
} 
+0

以下@ greedybuddhaの類似したともう少し完全なソリューションを試みたが、私のプログラムがそれを作成した後すぐに終了します。 – necromancer

+0

@randomstring:あなたは何か間違っている。何? - コードを表示していないので、わからない。 1 + –

+0

ありがとう、私はJFrameでそれを追加する必要があった。私は初心者のどのくらいの私の質問ではっきりしている必要があります:) – necromancer

3

JPanelを作成してペイントしてください。

public class MyPanel extends JPanel { 
    @Override 
    public void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     Graphics2D g2d = (Graphics2D) g; 
     .... // my painting 
    } 
} 
+0

私のプログラムはjpanelを作成した後に終了するだけです – necromancer

+0

@randomstring:JFrameに入れてJFrameを表示していますか?あなたはSwingのチュートリアルを一通り行ったことがありますか? –

+0

nope、初心者。私はそれをJFrameに追加するように考えました。ありがとう! – necromancer

関連する問題