-
JPanel 에 그라디언트 주기개발 2009. 8. 19. 12:47
public class GPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
Point2D start = new Point2D.Float(getWidth()/2, 1);
Point2D end = new Point2D.Float(getWidth(), getHeight()/2);
System.out.println(start);
System.out.println(end);
GradientPaint gp = new GradientPaint(start, Color.RED, end, Color.BLUE, false);
g2.setPaint(gp);
g2.fillRect(1, 1, getWidth()-2, getHeight()-2);
g2.dispose();
}
public static void main(String[] args){
JFrame f = new JFrame("그라이데이션 테스트");
GPanel g = new GPanel();
f.setContentPane(g);
f.setSize(200, 200);
f.setVisible(true);
}
}
그라디어트 그리기
그래픽 객체(g)에서 Graphics2D 를 얻어오고, 그라디언트 객체를 구해 setPaint() 메소드로 영역을 그려준다.
GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)
Constructs either a cyclic or acyclicGradientPaint
object depending on theboolean
parameter.마지막 파라미터인 cyclic 은 패턴반복을 설정한다.
[cyclic == false] [cyclic == true]
GradientPaint 외에도
LinearGradientPaint, MultipleGradientPaint 등 여러가지 클래스를 제공한다.다른점은 좌표를 설정할 수 있는 부분이 추가되었다는 것이다.
반응형'개발' 카테고리의 다른 글
트리구조 만들기 (1) 2009.08.27 php - join() 함수 (0) 2009.08.20 동적인 자바스크립트를 만들자 (0) 2009.08.06 타자크래프트 - 스윙버전 (0) 2009.07.08 jquery 를 이용한 모든 체크박스 선택하기 (0) 2009.06.26