我有这段代码,它只是创建新面板并实现自定义绘图功能。
centerPanel = new JPanel() {
@Override
public void paintComponent( Graphics g ) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setColor(Color.blue);
g2.setStroke(new BasicStroke(2));
g2.clearRect(0, 0, 1000, 1000);
Map<Integer, String> tables = Controller.FormMainWindowGetTables();
for (Integer id : tables.keySet()) {
Map<String, Object> table = Controller.FormMainWindowGetSingleTable(id);
g2.drawOval((int)table.get("pos_x"), (int)table.get("pos_y"), 100, 100);
}
}
};
但它只画了一个椭圆。我还尝试将调试文本放入循环中以查看其工作原理,但它仅输出有关第一个元素的信息。看起来循环是“无限的”,但只总是输出Map
.
我只是无法弄清楚这里出了什么问题......