我应该如何在 Java 中整合图形方法



所以我正在创建一个游戏,我需要多个可以输出文本(到 JFrame)或显示图像的方法。我创建了一个具有paintComponent方法的GraphicsEngine - 但问题是,这将通过将其添加到JFrame而不是通过我的调用来运行,并且我不能调用其他GraphicsEngine方法,因为它需要一个Graphics2D对象...当我调用方法时,我不会有。我将如何制作一堆可以在没有自己的paintComponent的情况下向JFrame添加内容的方法?请帮忙。

这是我的图形引擎,如果有人觉得它是相关的。

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);
        }
    }  
}

你需要调用 getGraphics() 才能从 JComponent 获取图形

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);
        }
}  

相关内容

  • 没有找到相关文章

最新更新