0

我正在构建一个模拟器,它试图显示 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);
        }

    }

}

目前我的循环中的打印打印正确,但椭圆形没有出现。但是,设置为在循环之外绘制的椭圆工作正常。任何关于我可能做错了什么的见解将不胜感激。先感谢您。

4

0 回答 0