public void paintComponent(Graphics g)
super.paintComponent(g);
if (CLEAR) {
g.setColor(back);
g.fillRect(0, 0, getSize().width, getSize().height);
CLEAR = false;
} else {
if (a == "직선") {
g.drawLine(rx, ry, rx2, ry2);
} else if (a == "사각형") {
g.drawRect(rx, ry, rx2 - rx, ry2 - ry);
} else if (a == "타원") {
g.drawOval(rx, ry, rx2 - rx, ry2 - ry);
}
}
여러 버튼 기능이 있는데 핵심 부분만 가져와봤어요~
라디오버튼이 3개있는데
직선, 사각형, 타원 클릭할때마다 그 버튼의 값을 a로 받아서 직선, 사각형, 타원을 그리는 것이어와요.
하지만 마우스모션리스너, 마우스리스너의 mouseDragged,mousePressed 메소드 에서 그릴때마다 항상 repaint 하고
그때마다 paintComponent 메소드에 super로 초기화하기땜시
새로 그려지구요.. 혹시 새로운 레이어를 만든다는건 어떻게 접근하란건지 정중하게 물어볼께요 ㅠㅠ
항상 비밀크림님이 핵심을 찔러주시고 힌트를 주셔서 감사하는거 알구요 ㅠㅠㅠ