我编写这个程序是为了找到一种方法,可以String在BufferedImage 任何大小(在本例中,a 的大小与其inBufferedImage相同JPanel)和位置上绘制居中的 a 。当我调整 的大小时JFrame,文本会在重新定位时闪烁BufferedImage,我不知道为什么。
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
@SuppressWarnings("serial")
class test extends JPanel
{
double scale = 0;
String draw = "1";
test()
{
setPreferredSize(new Dimension(600, 600));
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
paintText(g2, 0, 0);
}
public void paintText(Graphics2D g, int x, int y)
{
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
BufferedImage bi = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D big = (Graphics2D) bi.getGraphics(); …Run Code Online (Sandbox Code Playgroud)