저는 단순한 셰이프 메이커가 될 프로그램을 작성하고 있습니다. 저는 셰이프를 선택하는 버튼이있는 controlPanel과 두 개의 패널을 사용하여 기본 패널 인 ShapeMakerPanel에 있어야합니다. 지우기 등) 및 drawingArea (도형이 실제로 그려지는 곳),하지만 내가 무엇을해도 drawingArea에 페인트가 나타나지 않습니다. paintContent를 사용하고 add (drawingArea)를 주석 처리하면 드로잉 작업이 작동하지만 맨 아래 레이어에서 어떻게 drawingArea Jpanel에 페인트 할 수 있습니까? 나는 모양을 그릴 않는 경우 또한, 난 단지마다 나는 새로운 일을 시작하기 때문에, 패널이 나는 그것 super.paintComponent (g) 알고JPanels에서 페인팅
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);
}
}
clean` 닦아, 한 번에 하나를 가질 수 있습니다 저를 엉망으로 만들지 만, 마우스를 끌 때 수 백 줄을 그립니다.
Line 클래스에 대해 궁금한 점이 있으면 각 도형에 대해 클래스를 만들어야하고 draw() 메서드는 선의 좌표를 사용하여 drawLine()에 배치합니다.
사이드 노트 : 대부분의 경우, JPanel은 JComponent에 의해 아직 제공되지 않은 커스텀 페인팅을 전혀 가져 오지 않습니다. –