0

だから私は、テキストを(JFrameに)出力したり、画像を表示したりできる複数のメソッドが必要なゲームを作成しています。paintComponent メソッドを持つ GraphicsEngine を作成しましたが、これは呼び出しではなく JFrame に追加することで実行され、Graphics2D オブジェクトが必要なため、他の GraphicsEngine メソッドを呼び出すことはできません...メソッドを呼び出すときはありません。独自の paintComponent を持たずに JFrame に何かを追加できる一連のメソッドを作成するにはどうすればよいですか? 助けてください。

これが私の GraphicsEngine です。

import javax.swing.JComponent;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

public class GraphicsEngine extends JComponent
{
    public void paintComponent(Graphics g){
        Graphics2D g2 = (Graphics2D) g;
        BufferedImage img = null;
        try {
            img = ImageIO.read(new File("Splash.jpg"));
        } catch (IOException e) {
        }
        g2.drawImage(img, 0, 0, null);
    }

    public void textOut (Graphics2D g2, String text){

        for(char c : text.toCharArray()){
            System.out.print(c); //I want to be able to print this to JFrame     through g2's text printing methods.
            delay(30);
        }
    }  
}
4

1 に答える 1

0

JComponentからグラフィックを取得するには、getGraphics()を呼び出す必要があります。

public void textOut (String text){

        Graphics2D g2= getGraphics();
        for(char c : text.toCharArray()){
            g2.drawString("StackOverflow",40,20); //add your code with g2 to draw text
            delay(30);
        }
}  
于 2015-03-10T17:22:10.323 に答える