java 绘制字符串数组列表

发布于 2024-11-28 16:39:53 字数 305 浏览 0 评论 0原文

如果我在java中使用drawString(String, Int, Int)命令。如何存储/调用已存储在ArrayList中的不同图形?

所以,举例来说,

ArrayList<what type will this be???> list = new ArrayList;
int pos = 0;
for (int i = 0; i < list.size(); i++) {
    g.get(i).drawString("hello", 50, 50 + pos);
    pos += 20;
}

If I am using the drawString(String, Int, Int) command in java. How can I store / call different graphics that have been stored in an ArrayList?

So, for example,

ArrayList<what type will this be???> list = new ArrayList;
int pos = 0;
for (int i = 0; i < list.size(); i++) {
    g.get(i).drawString("hello", 50, 50 + pos);
    pos += 20;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

败给现实 2024-12-05 16:39:53

您的意思是:

list.get(i).drawString("hello", 50, 50 + pos);

如果您想在 ArrayList中存储不同的对象/形状,T 必须是定义 drawString() 的超类。否则这段代码将无法编译。

Did you mean:

list.get(i).drawString("hello", 50, 50 + pos);

If you want to store different objects/shapes in ArrayList<T>, the T has to be a superclass defining drawString(). Otherwise this code won't compile.

守护在此方 2024-12-05 16:39:53

这样做有什么问题吗?

    List<Graphics2D> list = new ArrayList<Graphics2D>();
    int pos = 0;
    for (Graphics2D g : list) {
        g.drawString("hello", 50, 50 + pos);
        pos += 20;
    }

您可以更好地使用 for-each 并使用接口 List 定义您的 list 对象。

What is the problem doing that?

    List<Graphics2D> list = new ArrayList<Graphics2D>();
    int pos = 0;
    for (Graphics2D g : list) {
        g.drawString("hello", 50, 50 + pos);
        pos += 20;
    }

and you could better use for-each and define your list object using an interface List.

猫瑾少女 2024-12-05 16:39:53

我用它来做一个程序:

ArrayList<String[]> StringsToDraw = new ArrayList<String[]>(); 

StringsToDraw.add(new String[] {"Hello","20","35"}); 
StringsToDraw.add(new String[] {"World","100","100"}); 

@Override 
public void paint(Graphics g){
  for(String[] printMe : StringsToDraw){ 
    drawString(g, printMe[0], printMe[1], printMe[2]) 
  } 
} 

public void drawString(Graphics gr, String text, String xString, String yString){ 
    int x = Integer.parseInt(xString); 
    int y = Integer.parseInt(yString); 
    gr.drawString(text, x, y); 
}

I used this for a program:

ArrayList<String[]> StringsToDraw = new ArrayList<String[]>(); 

StringsToDraw.add(new String[] {"Hello","20","35"}); 
StringsToDraw.add(new String[] {"World","100","100"}); 

@Override 
public void paint(Graphics g){
  for(String[] printMe : StringsToDraw){ 
    drawString(g, printMe[0], printMe[1], printMe[2]) 
  } 
} 

public void drawString(Graphics gr, String text, String xString, String yString){ 
    int x = Integer.parseInt(xString); 
    int y = Integer.parseInt(yString); 
    gr.drawString(text, x, y); 
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文