0

I'm having some issues with the graphics in my program. I want to drawstring() to draw a variable on the screen, however, the variable is given from another class.

An 'outline' of what I have is this:

public void paint(Graphics g){
    g.drawString(text, sPosX, sPosY);
}

That is my paint method. I want another class to run it, whilst passing a text variable to say what the drawstring will say.

I'm unsure on how to do this, as I can't do something like gui.paint(null, data) (gui is the name of the class) because even if I add (String text) to the paint() method, I get errors.

If you could help that would be greatly appreciated. Thanks!

Greg Kopff
  • 15,945
  • 12
  • 55
  • 78
JamEngulfer
  • 747
  • 4
  • 11
  • 33

1 Answers1

3

Give your GUI class a field, with a setter, and have your paint method reference the field.

public class GUI extends Component
{
  private String text;

  public void setText(String text)
  {
    this.text = text;
  }

  public void paint(Graphics g)
  {
    g.drawString(this.text, sPosX, sPosY);
  }
}

In your other class:

gui.setText("Now is the time for all good men");
Greg Kopff
  • 15,945
  • 12
  • 55
  • 78