Я пишу программу, которая будет простым создателем фигур, я должен представить свою основную панель ShapeMakerPanel вместе с двумя панелями на этой панели controlPanel (которая содержит кнопки для выбора формы и ее очистки,и т. д.) и DrawingArea (где на самом деле рисуются фигуры), но независимо от того, что я делаю, краска не отображается на DrawingArea.Если я просто использую paintComponent и закомментирую add (drawingArea), тогда материал для рисования работает, но на нижнем слое, как я могу рисовать на рисованной области Jpanel.Кроме того, когда я рисую фигуры, у меня может быть только одна фигура за раз, потому что каждый раз, когда я запускаю новую, панель стирается чистой `
super.paintComponent(g);
g.setColor(penColor);
if (p1 != null && p2 != null)
{
if (shapeChoice.getSelectedItem().equals("Line"))
{
Line line = new Line(p1.x, p1.y, p2.x, p2.y);
line.draw(g);
}
}
Я знаю, что это super.paintComponent (ж) портит меня, но без этого, когда я тащу мышь, она рисует сотни линий.
Если вам было интересно узнать о классе Line, нам нужно было создать класс для каждой фигуры, которую мы нарисовали, метод draw () просто использует координаты линии и помещает их в drawLine ().