gpt4 book ai didi

Java-如何在不丢失现有绘图的情况下在 JFrame 上绘图

转载 作者:行者123 更新时间:2023-11-29 04:56:59 25 4
gpt4 key购买 nike

我希望我的 java 程序随着输入法参数的变化绘制字符串“hello”,而不会丢失之前绘制的内容。换句话说,框架必须一个接一个地绘制许多串“Hello”,直到程序被迫停止。目前它只显示一个单词“你好”,它的新 y 位置已更改。

我如何更改下面的程序以使用新的 y 位置绘制许多“你好”的单词?非常感谢您的帮助。

谢谢

代码

import java.awt.*;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;


public class test6 extends JPanel {
int x=100;
int y=30;



String text = null;



public static void main (String args[]){

JFrame frame = new JFrame("Test Game");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test6 gamePanel = new test6();
frame.add(gamePanel);
frame.setSize(400,400);
frame.setVisible(true);

}


@Override
public void paintComponent(Graphics g){


super.paintComponent(g);


input();


g.drawString("hello", x, y);

}



void input(){


try {
System.out.println("input your command?");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

text = in.readLine();

y=y+50;


} catch (IOException ex) {
Logger.getLogger(test6.class.getName()).log(Level.SEVERE, null, ex);
}


repaint();


}

}

最佳答案

遍历 List<Point>在你执行 paintComponent() ,其中每个点都是 leading baseline一个字符串。从此example开始,以下迭代方案生成类似于下图的图像。

    for (Bauble b : queue) {
g2d.setColor(b.c);
//g2d.fillOval(b.x, b.y, b.d, b.d);
g2d.drawString("Hello", b.x, b.y);
}

image

关于Java-如何在不丢失现有绘图的情况下在 JFrame 上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33426469/

25 4 0
文章推荐: ios - 创建可录制和播放本地视频的 iPad 应用程序的最佳技术是什么?
文章推荐: php - 类别帖子数
文章推荐: IOS:主目录错误
文章推荐: php - Jquery 根据