Добавление path2d в jpanel

У меня много проблем с этой действительно тривиальной вещью. Я хочу взять объект path2d, добавить его в jpanel и отобразить в своем графическом интерфейсе. Могу ли я получить некоторые указания относительно того, что я делаю неправильно. Я использовал поиск здесь и с помощью Google и не смог найти ничего полезного, поэтому простите меня, если об этом спрашивали раньше.

псевдокод: передаваемая панель является корневой панелью

public void stuff(Path2D path, JPanel panel){
    JPanel inside = new JPanel();
    Graphics g2d = (Graphics2D) inside.getGraphics();

    g.draw(path);
    panel.add(inside);
} 

Вероятно, у меня действительно плохое фундаментальное непонимание того, что происходит. Небольшое руководство действительно поможет. Спасибо


person Community    schedule 10.10.2012    source источник
comment
Чтобы быстрее получить помощь, опубликуйте SSCCE.   -  person Andrew Thompson    schedule 10.10.2012


Ответы (1)


Graphics g2d = (Graphics2D) inside.getGraphics();

Не вызывайте getGraphics(), кроме как для BufferedImage - он будет перерисован следующей краской. В противном случае закрасьте путь, когда вам будет сказано сделать это в пределах paintComponent(Graphics).

Дополнительную информацию см. в разделе Выполнение пользовательского рисования.

person Andrew Thompson    schedule 10.10.2012
comment
Как бы я отредактировал свой код? Я не понимаю....paintComponent принимает графический объект. Где взять этот графический объект.... - person ; 10.10.2012
comment
Я новичок в разработке Java. Я просто погуглил и не знаю, с чего начать... Я просто хочу знать, что делать с моим объектом Path2D, чтобы добавить его в jpanel. Для будущих вопросов я обязательно постараюсь придерживаться этого формата SSCCE. - person ; 10.10.2012
comment
Существует связанный пример здесь с использованием подкласса Path2D, GeneralPath. - person trashgod; 10.10.2012