Рисование прямоугольника на JPanel

Я хочу нарисовать прямоугольник на панели JPanel. Я умею рисовать с помощью следующего кода.

public class DrawingColor extends JFrame
{
    public static void main(String[] args) 
    {
        DrawingColor d = new DrawingColor();
    }

    public DrawingColor()
    {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        getContentPane().add(new MyComponent());
        setSize(400,400);
        setVisible(true);
    }

    public class MyComponent extends JComponent
    {
        @Override
        public void paint(Graphics g)
        {
            int height = 200;
            int width = 120;
            g.setColor(Color.red);
            g.drawRect(10, 10, height, width);
            g.setColor(Color.gray);
            g.fillRect(11, 11, height, width);
            g.setColor(Color.red);
            g.drawOval(250, 20, height, width);
            g.setColor(Color.magenta);
            g.fillOval(249, 19, height, width);
        }
    }
}

Но getContentPane (). Add (new MyComponent ()); Вместо этого утверждения мне нужно добавить к раме одну базовую панель. На базовой панели я хочу добавить панель MyComponent.

  JPanel basePanel = new JPanel();
  basePanel = new MyComponent();
  getContentPane().add(basePanel);

Если я так сделаю, прямоугольник не будет виден. любая идея? А также мне нужно изменить размер прямоугольника во время выполнения. возможно ли это?

5
задан pinkpanther 19 May 2013 в 15:30
поделиться