Java我如何让drawstring打印一些东西而不在下一次的组件迭代中被替换

Java我如何让drawstring打印一些东西而不在下一次的组件迭代中被替换,java,string,draw,drawstring,Java,String,Draw,Drawstring,因此,我有一个代码,它有一个文本字段,当按下按钮并输入一些文本时,该文本将出现在面板上单击的任何位置。如何使每次单击面板上的某个位置时,面板上的旧字符串不会移动到新位置,并创建新字符串并添加到现有文本中?以下是我编写的代码。它工作得很好 import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.ArrayList; public class APP extends Applet imple

因此,我有一个代码,它有一个文本字段,当按下按钮并输入一些文本时,该文本将出现在面板上单击的任何位置。如何使每次单击面板上的某个位置时,面板上的旧字符串不会移动到新位置,并创建新字符串并添加到现有文本中?

以下是我编写的代码。它工作得很好

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
public class APP extends Applet implements MouseListener{

    TextField text;
    public ArrayList<Integer> X=new ArrayList<Integer>();
    public ArrayList<Integer> Y=new ArrayList<Integer>();

    @Override
    public void init(){
        text=new TextField(10);
        add(text);
        addMouseListener(this);
        text.setText("");
    }

    @Override
    public void paint(Graphics g){
        String s=text.getText();
        for(int i=0;i<X.size();i++)
        g.drawString(s,(X.get(i)).intValue(), (Y.get(i)).intValue());
    }

    @Override
    public void MouseClicked(MouseEvent m){
        X.add(new Integer(m.getX()));
        Y.add(new Integer(m.getY()));
        repaint();
    }

    /*Compulsory overriding of abstract methods of MouseListener interface*/

    @Override
    public void mouseEntered(MouseEvent m){}

    @Override
    public void mouseExited(MouseEvent m){}

    @Override
    public void mousePressed(MouseEvent m){}

    @Override
    public void mouseReleased(MouseEvent m){}
}
import java.applet.*;
导入java.awt.*;
导入java.awt.event.*;
导入java.util.ArrayList;
公共类应用程序扩展小程序实现MouseListener{
文本字段文本;
public ArrayList X=new ArrayList();
public ArrayList Y=new ArrayList();
@凌驾
公共void init(){
文本=新文本字段(10);
添加(文本);
addMouseListener(这个);
text.setText(“”);
}
@凌驾
公共空间涂料(图g){
字符串s=text.getText();

对于(inti=0;i这是我写的代码。它工作得非常好

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
public class APP extends Applet implements MouseListener{

    TextField text;
    public ArrayList<Integer> X=new ArrayList<Integer>();
    public ArrayList<Integer> Y=new ArrayList<Integer>();

    @Override
    public void init(){
        text=new TextField(10);
        add(text);
        addMouseListener(this);
        text.setText("");
    }

    @Override
    public void paint(Graphics g){
        String s=text.getText();
        for(int i=0;i<X.size();i++)
        g.drawString(s,(X.get(i)).intValue(), (Y.get(i)).intValue());
    }

    @Override
    public void MouseClicked(MouseEvent m){
        X.add(new Integer(m.getX()));
        Y.add(new Integer(m.getY()));
        repaint();
    }

    /*Compulsory overriding of abstract methods of MouseListener interface*/

    @Override
    public void mouseEntered(MouseEvent m){}

    @Override
    public void mouseExited(MouseEvent m){}

    @Override
    public void mousePressed(MouseEvent m){}

    @Override
    public void mouseReleased(MouseEvent m){}
}
import java.applet.*;
导入java.awt.*;
导入java.awt.event.*;
导入java.util.ArrayList;
公共类应用程序扩展小程序实现MouseListener{
文本字段文本;
public ArrayList X=new ArrayList();
public ArrayList Y=new ArrayList();
@凌驾
公共void init(){
文本=新文本字段(10);
添加(文本);
addMouseListener(这个);
text.setText(“”);
}
@凌驾
公共空间涂料(图g){
字符串s=text.getText();

对于In i=0;请在问题中添加更多的细节,并添加一些文本,以便人们可以帮助您。考虑添加JLabor而不是绘制文本。这允许您随时更改文本,而绘画意味着您需要跟踪其旧位置和旧文本。每次在MouseClicked()方法中,使用getX()和getY()获取用户单击的点的坐标,并将这些整数的对象(已装箱)添加到各自的集合中方法,在画布的每一点上显示字符串,这些坐标是从集合中获取的。因此,即使PultCube由于“<代码> RePrimeTo”(语句)在MUSECLIKEDE()方法中重置,它也会显示从第一个坐标点击到最后一个的文本。[设置可编辑(假)]<代码> jsLoopPAN< <代码>。请在该问题中添加更多的细节,并添加一些文本,以便人们可以帮助您。考虑添加JLabor而不是绘制文本。这允许您随时更改文本,而绘画意味着您需要跟踪其旧位置和旧文本。用于存储x和y坐标的选项,每次在MouseClicked()方法中,使用getX()和getY()获取用户单击的点的坐标,并将这些整数的对象(装箱)添加到各自的集合中方法,在画布的每一点上显示字符串,这些坐标是从集合中获取的。因此,即使PultCube由于“<代码> RePrimeTo”(语句)在MUSECLIKEDE()方法中重置,它也会显示从第一个坐标点击到最后一个的文本。[setEditable(false)]
将其放入
JScrollPane