두 JPanels 사이에 선을 그립니다. 내 코드를 NULL 포인터를주는 것으로 확인하십시오. 예외 : "g2d.setRenderingHint (RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);"두 JPanels 사이의 선 그리기
코드 :
Draw(JPanel one , JPanel two)
{
//Draw Line
Graphics2D g=null;
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.lightGray);
2d.fillRect(0, 0, getWidth(), getHeight());
g2d.setColor(Color.black);
Stroke s = new BasicStroke(4.0f);
// For getting the points of JPanel ona and two//
int x1 = one.getX() + one.getWidth()/2;
int y1 = one.getY() + one.getHeight()/2;
int x2 = one.getX() + one.getWidth()/2;
int y2 = two.getY() + two.getHeight()/2;
//Drawing line
g2d.drawLine(x1, y1, x2, y2);
}
무엇을 쉽게 사용할 수있는 예제가 없습니다 그래? 제안? – Asd
업데이트 된 답변 확인. –
모든 구성 요소의'페인트 '를 무시하는 것은 대단히 권장되지 않습니다. 부모 컨테이너의'paint' 메소드를 오버라이드 (override)했을 경우 여전히 제대로 작동하지 않을 것이라는 점도 상당히 확신합니다. 비슷한 질문으로 얼마간 시간을 보내고 그 문제로 빠져 나옵니다. – MadProgrammer