我正在构建一个模拟器,它试图显示 Node 对象的 ArrayList,并且我在负责绘制到屏幕中心的 JComponent 的重写paintComponent 中使用了增强的 for 循环。
package networkSimulation;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JComponent;
public class mainComponent extends JComponent{
public void paintComponent(Graphics g){
NetworkGUI.updateForWindowSize();
g.drawLine(-50, (int)NetworkGUI.windowHeight - 130, (int)NetworkGUI.windowWidth + 50, (int)NetworkGUI.windowHeight - 130);
g.fillOval(100, 100, 100, 100);
//Draw the contents of the graph
for(Node node: NetworkGUI.graph.getNodes()){
System.out.println("Drawing a Node at " + node.getX() + ',' + node.getY());
g.fillOval((int)node.getX(), (int)node.getY(), 100, 100);
}
}
}
目前我的循环中的打印打印正确,但椭圆形没有出现。但是,设置为在循环之外绘制的椭圆工作正常。任何关于我可能做错了什么的见解将不胜感激。先感谢您。