在Jpanel上绘图

时间:2013-11-10 08:54:39

标签: java swing graphics jpanel draw

我有这个代码,只需创建新面板并实现自定义绘图功能。

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的第一个元素。

我无法弄清楚这里有什么问题...

0 个答案:

没有答案