简体   繁体   English

在Java中,如何使用另一个类的数据绘制JPanel?

[英]In Java, how can I draw on a JPanel using data from another class?

Is there any way to draw on a JPanel using data from another class? 有什么方法可以使用来自另一个类的数据来绘制JPanel? Here is the code I tried: 这是我尝试的代码:

class overlay extends JPanel {

    public void paintComponent(Graphics g, lineStore data) {        
        super.paintComponent(g);
        this.setBackground(Color.WHITE);
        g.setColor(Color.BLUE);
        for (int i = 0; i < data.length; i++) {
            g.drawLine(data[i].x1,data[i].y1,data[i].x2,data[i].y2);
        }
    }

}

Here you go: 干得好:

class overlay extends JPanel {

private lineStore data;

public overlay(lineStore data) {
    this.data = data;
}

public void paintComponent(Graphics g) {        
    super.paintComponent(g);
    this.setBackground(Color.WHITE);
    g.setColor(Color.BLUE);
    for (int i = 0; i < data.length; i++) {
        g.drawLine(data[i].x1,data[i].y1,data[i].x2,data[i].y2);
    }
}

} }

To use it do: 要使用它,请执行以下操作:

lineStore data; //create lineStore here
overlay panel = new overlay(data);
panel.repaint();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM