Language/java소스
자바 도형 그리기 예제
아라한사
2014. 4. 14. 18:59
음 ...
일일이 숫자 주는게 귀찮아서 static int 로 값을 준다음에 100 정도씩 증가시켜줬습니다.
폴리곤은 쓸일이 당장 없어서 문서 알아보는거 귀찮아서 안했습니다;;;
파워자바 책에서 나온 문제입니다.
3D Rect 부분에서 음영주는 값을 옵션을 모르겠네요.
(과제) 3D 음영, 폴리곤 알아보기~
package 챕15그래픽; import java.awt.*; import javax.swing.*; class MyComponent extends JPanel { static int x = 10; static int y_up = 10; static int y = 100; static int margin = 10; static int width = 100; static int height = 80; public static void x() { x = x + margin + width; } public void paintComponent(Graphics g) { g.drawLine(10, 80, 100, 10); g.drawString("DrawLine()", x, y); x(); // System.out.println("drawRect " + x); g.drawRect(x, y_up, width, height); g.drawString("drawRect", x, y); x(); g.draw3DRect(x, y_up, width, height, isOptimizedDrawingEnabled()); g.drawString("3DRect", x, y); x(); g.drawRoundRect(x, y_up, width, height, 5, 5); g.drawString("RountRect", x, y); x(); g.drawOval(x, y_up, width, height); g.drawString("drawOval", x, y); x(); g.drawArc(x, y_up, width, height, 90, 110); g.drawString("drawArc", x, y); x(); // g.drawPolygon(xPoints, yPoints, nPoints); g.drawString("drawPolygon", x, y); // fill 차례 x = 10; x(); y_up += 100; y += 100; g.fillRect(x, y_up, width, height); g.drawString("drawRect", x, y); x(); g.fill3DRect(x, y_up, width, height, isOptimizedDrawingEnabled()); g.drawString("3DRect", x, y); x(); g.fillRoundRect(x, y_up, width, height, 5, 5); g.drawString("RountRect", x, y); x(); g.fillOval(x, y_up, width, height); g.drawString("drawOval", x, y); x(); g.fillArc(x, y_up, width, height, 90, 110); g.drawString("drawArc", x, y); x(); // g.drawPolygon(xPoints, yPoints, nPoints); g.drawString("drawPolygon", x, y); } } public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(1000, 300); frame.setTitle("그리기"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); MyComponent component = new MyComponent(); frame.add(component); frame.setVisible(true); } }