[英]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.