2014-04-10 6 views
-1

목록을 사용하여 코드를 정리하거나 다른 클래스에서 코드를 호출 할 수 있는지 궁금합니다. 정확한 Path2D 좌표가 내 paintComponent를 어지럽 힌다.Java Graphics2D Path2D 다른 클래스에서 단순화 또는 호출

public void paintComponent(Graphics g) 
{ Graphics2D g2=(Graphics2D)g; 
super.paintComponent(g2); 

//Background 
Rectangle background = new Rectangle(0,0,getWidth(),getHeight()); 
Color skyBlue = new Color(135,206,235); 
g2.setColor(skyBlue); 
g2.fill (background); 

Path2D bunny = new Path2D.Float(); 
bunny.moveTo(486.63,530.25); 
bunny.lineTo(483.13,532.25); 
bunny.lineTo(483.13,532.25); 
bunny.lineTo(483.13,532.25); 
bunny.lineTo(477.38,534.38); 
bunny.lineTo(477.38,534.38); 
bunny.lineTo(477.38,534.38); 
bunny.lineTo(469.88,535.50); 
bunny.lineTo(469.88,535.50); 
bunny.lineTo(469.88,535.50); 
bunny.lineTo(453.50,536.38); 
bunny.lineTo(453.50,536.38); 
bunny.lineTo(453.50,536.38); 
bunny.lineTo(437.63,537.75); 
bunny.lineTo(437.63,537.75); 
bunny.lineTo(437.63,537.75); 
bunny.lineTo(418.75,539.25); 
bunny.lineTo(418.75,539.25); 
bunny.lineTo(418.75,539.25); 
bunny.lineTo(405.00,539.88); 
bunny.lineTo(405.00,539.88); 
bunny.lineTo(405.00,539.88); 
bunny.lineTo(392.25,539.63); 
bunny.lineTo(392.25,539.63); 
bunny.lineTo(392.25,539.63); 
bunny.lineTo(385.50,539.13); 
bunny.lineTo(385.50,539.13); 
bunny.lineTo(385.50,539.13); 
bunny.lineTo(381.00,538.63); 
bunny.lineTo(381.00,538.63); 
bunny.lineTo(381.00,538.63); 
bunny.lineTo(375.50,537.88); 
bunny.lineTo(375.50,537.88); 
bunny.lineTo(375.50,537.88); 
bunny.lineTo(370.13,537.75); 
bunny.lineTo(370.13,537.75); 
bunny.lineTo(370.13,537.75); 
bunny.lineTo(364.88,537.13); 
bunny.lineTo(364.88,537.13); 
bunny.lineTo(364.88,537.13); 
bunny.lineTo(357.75,536.63); 
bunny.lineTo(357.75,536.63); 
bunny.lineTo(357.75,536.63); 
bunny.lineTo(353.50,536.25); 
bunny.lineTo(353.50,536.25); 
bunny.lineTo(353.50,536.25); 
bunny.lineTo(347.88,535.75); 
bunny.lineTo(347.88,535.75); 
bunny.lineTo(347.88,535.75); 
bunny.lineTo(341.75,535.38); 
bunny.lineTo(341.75,535.38); 
bunny.lineTo(341.75,535.38); 
bunny.lineTo(336.25,534.38); 
bunny.lineTo(336.25,534.38); 
bunny.lineTo(336.25,534.38); 
bunny.lineTo(328.25,532.88); 
bunny.lineTo(328.25,532.88); 
bunny.lineTo(328.25,532.88); 
bunny.lineTo(323.00,530.63); 
bunny.lineTo(323.00,530.63); 
bunny.lineTo(323.00,530.63); 
bunny.lineTo(318.50,528.13); 
bunny.lineTo(318.50,528.13); 
bunny.lineTo(318.50,528.13); 
bunny.lineTo(313.50,524.63); 
bunny.lineTo(313.50,524.63); 
bunny.lineTo(313.50,524.63); 
bunny.lineTo(311.63,521.25); 
bunny.lineTo(311.63,521.25); 
bunny.lineTo(311.63,521.25); 
bunny.lineTo(310.38,516.25); 
bunny.lineTo(310.38,516.25); 
bunny.lineTo(310.38,516.25); 
bunny.lineTo(309.88,513.00); 
bunny.lineTo(309.88,513.00); 
bunny.lineTo(309.88,513.00); 
bunny.lineTo(311.13,508.38); 
bunny.lineTo(311.13,508.38); 
bunny.lineTo(311.13,508.38); 
bunny.lineTo(312.25,505.38); 
bunny.lineTo(312.25,505.38); 
bunny.lineTo(312.25,505.38); 
bunny.lineTo(313.00,502.63); 
bunny.lineTo(313.00,502.63); 
bunny.lineTo(313.00,502.63); 
bunny.lineTo(314.75,500.00); 
bunny.lineTo(314.75,500.00); 
bunny.lineTo(314.75,500.00); 
bunny.lineTo(316.38,497.63); 
bunny.lineTo(316.38,497.63); 
bunny.lineTo(316.38,497.63); 
bunny.lineTo(316.25,494.00); 
bunny.lineTo(316.25,494.00);  
bunny.lineTo(316.25,494.00); 
bunny.lineTo(314.88,491.00); 
bunny.lineTo(314.88,491.00); 
bunny.lineTo(314.88,491.00); 
bunny.lineTo(312.88,486.38); 
bunny.lineTo(312.88,486.38); 
bunny.lineTo(312.88,486.38); 
bunny.lineTo(310.13,480.00); 
bunny.lineTo(310.13,480.00); 
bunny.lineTo(310.13,480.00); 
bunny.lineTo(308.50,474.75); 
bunny.lineTo(308.50,474.75); 
bunny.lineTo(308.50,474.75); 
bunny.lineTo(306.63,468.75); 
bunny.lineTo(306.63,468.75); 
bunny.lineTo(306.63,468.75); 
bunny.lineTo(305.25,462.75); 
bunny.lineTo(305.25,462.75); 
bunny.lineTo(305.25,462.75); 
bunny.lineTo(304.88,456.63); 
bunny.lineTo(304.88,456.63); 
bunny.lineTo(304.88,456.63); 
bunny.lineTo(304.88,449.88); 
bunny.lineTo(304.88,449.88); 
bunny.lineTo(304.88,449.88); 
bunny.lineTo(305.00,446.38); 
bunny.lineTo(305.00,446.38); 
bunny.lineTo(305.00,446.38); 
bunny.lineTo(305.88,442.75); 
bunny.lineTo(305.88,442.75); 
bunny.lineTo(305.88,442.75); 
bunny.lineTo(307.63,437.88); 
bunny.lineTo(307.63,437.88); 
bunny.lineTo(307.63,437.88); 
bunny.lineTo(309.25,434.50); 
bunny.lineTo(309.25,434.50); 
bunny.lineTo(309.25,434.50); 
bunny.lineTo(310.50,432.25); 
bunny.lineTo(310.50,432.25); 
bunny.lineTo(310.50,432.25);  
bunny.lineTo(311.63,430.25); 
bunny.lineTo(311.63,430.25); 
bunny.lineTo(311.63,430.25); 
bunny.lineTo(312.50,427.25); 
bunny.lineTo(312.50,427.25); 
bunny.lineTo(312.50,427.25); 
bunny.lineTo(312.63,424.00); 
bunny.lineTo(312.63,424.00); 
bunny.lineTo(312.63,424.00); 
bunny.lineTo(311.75,421.25); 
bunny.lineTo(311.75,421.25); 
bunny.lineTo(311.75,421.25); 
bunny.lineTo(309.38,417.88); 
bunny.lineTo(309.38,417.88); 
bunny.lineTo(309.38,417.88); 
bunny.lineTo(307.00,415.00); 
bunny.lineTo(307.00,415.00); 
bunny.lineTo(307.00,415.00); 
bunny.lineTo(304.50,412.25); 
bunny.lineTo(304.50,412.25); 
bunny.lineTo(304.50,412.25); 
bunny.lineTo(302.63,409.38); 
bunny.lineTo(302.63,409.38); 
bunny.lineTo(302.63,409.38); 
bunny.lineTo(300.13,406.63); 
bunny.lineTo(300.13,406.63); 
bunny.lineTo(300.13,406.63); 
bunny.lineTo(298.00,402.88); 
bunny.lineTo(298.00,402.88); 
bunny.lineTo(298.00,402.88); 
bunny.lineTo(296.63,400.50); 
bunny.lineTo(296.63,400.50); 
bunny.lineTo(296.63,400.50); 
bunny.lineTo(295.38,397.88); 
bunny.lineTo(295.38,397.88); 
bunny.lineTo(295.38,397.88); 
bunny.lineTo(294.50,395.63); 
bunny.lineTo(294.50,395.63); 
bunny.lineTo(294.50,395.63); 
bunny.lineTo(294.13,392.88); 
bunny.lineTo(294.13,392.88); 
bunny.lineTo(294.13,392.88); 
bunny.lineTo(293.13,389.88); 
bunny.lineTo(293.13,389.88); 
bunny.lineTo(293.13,389.88); 
bunny.lineTo(292.38,385.75); 
bunny.lineTo(292.38,385.75); 
bunny.lineTo(292.38,385.75); 
bunny.lineTo(291.75,381.13); 
bunny.lineTo(291.75,381.13); 
bunny.lineTo(291.75,381.13); 
bunny.lineTo(290.88,371.75); 
bunny.lineTo(290.88,371.75); 
bunny.lineTo(290.88,371.75); 
bunny.lineTo(291.13,366.88); 
bunny.lineTo(291.13,366.88); 
bunny.lineTo(291.13,366.88); 
bunny.lineTo(293.25,362.50); 
bunny.lineTo(293.25,362.50); 
bunny.lineTo(293.25,362.50); 
bunny.lineTo(295.38,358.88); 
bunny.lineTo(295.38,358.88); 
bunny.lineTo(295.38,358.88); 
bunny.lineTo(296.75,356.38); 
bunny.lineTo(296.75,356.38); 
bunny.lineTo(296.75,356.38); 
bunny.lineTo(300.00,350.00); 
bunny.lineTo(300.00,350.00); 
bunny.lineTo(300.00,350.00); 
bunny.lineTo(305.63,342.75); 
bunny.lineTo(305.63,342.75); 
bunny.lineTo(305.63,342.75); 
bunny.lineTo(309.88,337.00); 
bunny.lineTo(309.88,337.00); 
bunny.lineTo(309.88,337.00); 
bunny.lineTo(313.50,333.13); 
bunny.lineTo(313.50,333.13); 
bunny.lineTo(313.50,333.13); 
bunny.lineTo(319.25,327.63); 
bunny.lineTo(319.25,327.63); 
bunny.lineTo(319.25,327.63); 
bunny.lineTo(323.38,324.00); 
bunny.lineTo(323.38,324.00); 
bunny.lineTo(323.38,324.00); 
bunny.lineTo(328.38,321.25); 
bunny.lineTo(328.38,321.25); 
bunny.lineTo(328.38,321.25); 
bunny.lineTo(333.75,318.88); 
bunny.lineTo(333.75,318.88); 
bunny.lineTo(333.75,318.88); 
bunny.lineTo(338.50,316.38); 
bunny.lineTo(338.50,316.38); 
bunny.lineTo(338.50,316.38); 
bunny.lineTo(341.63,315.50); 
bunny.lineTo(341.63,315.50); 
bunny.lineTo(341.63,315.50); 
bunny.lineTo(348.50,313.25); 
bunny.lineTo(348.50,313.25); 
bunny.lineTo(348.50,313.25); 
bunny.lineTo(355.25,312.00); 
bunny.lineTo(355.25,312.00); 
bunny.lineTo(355.25,312.00); 
bunny.lineTo(361.00,310.88); 
bunny.lineTo(361.00,310.88); 
bunny.lineTo(361.00,310.88); 
bunny.lineTo(364.50,309.75); 
bunny.lineTo(364.50,309.75); 
bunny.lineTo(364.50,309.75); 
bunny.lineTo(367.75,307.50); 
bunny.lineTo(367.75,307.50); 
bunny.lineTo(367.75,307.50); 
bunny.lineTo(373.25,302.50); 
bunny.lineTo(373.25,302.50); 
bunny.lineTo(373.25,302.50); 
bunny.lineTo(379.13,296.13); 
bunny.lineTo(379.13,296.13); 
bunny.lineTo(379.13,296.13); 
bunny.lineTo(384.25,290.13); 
bunny.lineTo(384.25,290.13); 
bunny.lineTo(384.25,290.13); 
bunny.lineTo(389.25,283.88); 
bunny.lineTo(389.25,283.88); 
bunny.lineTo(389.25,283.88); 
bunny.lineTo(393.25,279.50); 
bunny.lineTo(393.25,279.50); 
bunny.lineTo(393.25,279.50); 
bunny.lineTo(396.63,275.50); 
bunny.lineTo(396.63,275.50); 
bunny.lineTo(396.63,275.50); 
bunny.lineTo(400.50,271.38); 
bunny.lineTo(400.50,271.38); 
bunny.lineTo(400.50,271.38); 
bunny.lineTo(406.25,266.75); 
bunny.lineTo(406.25,266.75); 
bunny.lineTo(406.25,266.75); 
bunny.lineTo(411.50,262.13); 
bunny.lineTo(411.50,262.13); 
bunny.lineTo(411.50,262.13); 
bunny.lineTo(414.88,259.75); 
bunny.lineTo(414.88,259.75); 
bunny.lineTo(414.88,259.75); 
bunny.lineTo(420.25,256.63); 
bunny.lineTo(420.25,256.63); 
bunny.lineTo(420.25,256.63); 
bunny.lineTo(424.63,253.88); 
bunny.lineTo(424.63,253.88); 
bunny.lineTo(424.63,253.88); 
bunny.lineTo(427.50,252.88); 
bunny.lineTo(427.50,252.88); 
bunny.lineTo(427.50,252.88); 
bunny.lineTo(431.13,251.50); 
bunny.lineTo(431.13,251.50); 
bunny.lineTo(431.13,251.50); 
bunny.lineTo(434.25,251.13); 
bunny.lineTo(434.25,251.13); 
bunny.lineTo(434.25,251.13); 
bunny.lineTo(437.63,251.00); 
bunny.lineTo(437.63,251.00); 
bunny.lineTo(437.63,251.00); 
bunny.lineTo(442.50,252.25); 
bunny.lineTo(442.50,252.25); 
bunny.lineTo(442.50,252.25); 
bunny.lineTo(445.50,253.75); 
bunny.lineTo(445.50,253.75); 
bunny.lineTo(445.50,253.75); 
bunny.lineTo(447.88,255.25); 
bunny.lineTo(447.88,255.25); 
bunny.lineTo(447.88,255.25); 
bunny.lineTo(450.50,258.25); 
bunny.lineTo(450.50,258.25); 
bunny.lineTo(450.50,258.25); 
bunny.lineTo(451.88,260.75); 
bunny.lineTo(451.88,260.75); 
bunny.lineTo(451.88,260.75); 
bunny.lineTo(453.38,264.13); 
bunny.lineTo(453.38,264.13); 
bunny.lineTo(453.38,264.13); 
bunny.lineTo(454.25,266.88); 
bunny.lineTo(454.25,266.88); 
bunny.lineTo(454.25,266.88); 
bunny.lineTo(455.50,271.13); 
bunny.lineTo(455.50,271.13); 
bunny.lineTo(455.50,271.13); 
bunny.lineTo(455.63,274.75); 
bunny.lineTo(455.63,274.75); 
bunny.lineTo(455.63,274.75); 
bunny.lineTo(456.75,276.50); 
bunny.lineTo(456.75,276.50); 
bunny.lineTo(456.75,276.50); 
bunny.lineTo(458.63,278.00); 
bunny.lineTo(458.63,278.00); 
bunny.lineTo(458.63,278.00); 
bunny.lineTo(460.00,278.88); 
bunny.lineTo(460.00,278.88); 
bunny.lineTo(460.00,278.88); 
bunny.lineTo(461.00,280.75); 
bunny.lineTo(461.00,280.75); 
bunny.lineTo(461.00,280.75); 
bunny.lineTo(462.75,281.00); 
bunny.lineTo(462.75,281.00); 
bunny.lineTo(462.75,281.00); 
bunny.lineTo(464.88,281.88); 
bunny.lineTo(464.88,281.88); 
bunny.lineTo(464.88,281.88); 
bunny.lineTo(467.38,283.00); 
bunny.lineTo(467.38,283.00); 
bunny.lineTo(467.38,283.00); 
bunny.lineTo(470.13,284.50); 
bunny.lineTo(470.13,284.50); 
bunny.lineTo(470.13,284.50); 
bunny.lineTo(472.00,286.13); 
bunny.lineTo(472.00,286.13); 
bunny.lineTo(473.63,287.50); 
bunny.lineTo(477.13,290.13); 
bunny.lineTo(477.13,290.13); 
bunny.lineTo(477.13,290.13); 
bunny.lineTo(479.50,292.25); 
bunny.lineTo(479.50,292.25); 
bunny.lineTo(479.50,292.25); 
bunny.lineTo(481.50,295.00); 
bunny.lineTo(481.50,295.00); 
bunny.lineTo(481.50,295.00); 
bunny.lineTo(483.38,299.13); 
bunny.lineTo(483.38,299.13); 
bunny.lineTo(483.38,299.13); 
bunny.lineTo(483.38,303.63); 
bunny.lineTo(483.38,303.63); 
bunny.lineTo(483.38,303.63); 
bunny.lineTo(482.63,308.00); 
bunny.lineTo(482.63,308.00); 
bunny.lineTo(482.63,308.00); 
bunny.lineTo(480.75,311.75); 
bunny.lineTo(480.75,311.75); 
bunny.lineTo(480.75,311.75); 
bunny.lineTo(469.25,325.00); 
bunny.lineTo(469.25,325.00); 
bunny.lineTo(469.25,325.00); 
bunny.lineTo(464.00,330.63); 
bunny.lineTo(464.00,330.63); 
bunny.lineTo(464.00,330.63); 
bunny.lineTo(458.50,337.13); 
bunny.lineTo(458.50,337.13); 
bunny.lineTo(458.50,337.13); 
bunny.lineTo(451.75,345.13); 
bunny.lineTo(451.75,345.13); 
bunny.lineTo(451.75,345.13); 
bunny.lineTo(448.38,349.63); 
bunny.lineTo(448.38,349.63); 
bunny.lineTo(448.38,349.63); 
bunny.lineTo(446.00,353.13); 
bunny.lineTo(446.00,353.13); 
bunny.lineTo(446.00,353.13); 
bunny.lineTo(443.38,357.75); 
bunny.lineTo(443.38,357.75); 
bunny.lineTo(443.38,357.75); 
bunny.lineTo(442.13,361.13); 
bunny.lineTo(442.13,361.13); 
bunny.lineTo(442.13,361.13); 
bunny.lineTo(441.88,367.38); 
bunny.lineTo(441.88,367.38); 
bunny.lineTo(441.88,367.38); 
bunny.lineTo(441.75,371.75); 
bunny.lineTo(441.75,371.75); 
bunny.lineTo(441.75,371.75); 
bunny.lineTo(442.13,375.63); 
bunny.lineTo(442.13,375.63); 
bunny.lineTo(442.13,375.63); 
bunny.lineTo(443.00,381.88); 
bunny.lineTo(443.00,381.88); 
bunny.lineTo(443.00,381.88); 
bunny.lineTo(444.38,385.75); 
bunny.lineTo(444.38,385.75); 
bunny.lineTo(444.38,385.75); 
bunny.lineTo(446.50,390.75); 
bunny.lineTo(446.50,390.75); 
bunny.lineTo(446.50,390.75); 
bunny.lineTo(450.00,396.38); 
bunny.lineTo(450.00,396.38); 
bunny.lineTo(450.00,396.38); 
bunny.lineTo(452.88,399.50); 
bunny.lineTo(452.88,399.50); 
bunny.lineTo(452.88,399.50); 
bunny.lineTo(457.25,404.25); 
bunny.lineTo(457.25,404.25); 
bunny.lineTo(457.25,404.25); 
bunny.lineTo(462.38,409.50); 
bunny.lineTo(462.38,409.50); 
bunny.lineTo(462.38,409.50); 
bunny.lineTo(467.25,414.50); 
bunny.lineTo(467.25,414.50); 
bunny.lineTo(467.25,414.50); 
bunny.lineTo(471.25,418.63); 
bunny.lineTo(471.25,418.63); 
bunny.lineTo(471.25,418.63); 
bunny.lineTo(473.25,421.38); 
bunny.lineTo(473.25,421.38); 
bunny.lineTo(473.25,421.38); 
bunny.lineTo(476.63,426.13); 
bunny.lineTo(476.63,426.13); 
bunny.lineTo(476.63,426.13); 
bunny.lineTo(480.75,431.13); 
bunny.lineTo(480.75,431.13); 
bunny.lineTo(480.75,431.13); 
bunny.lineTo(483.50,435.13); 
bunny.lineTo(483.50,435.13); 
bunny.lineTo(483.50,435.13); 
bunny.lineTo(485.25,439.63); 
bunny.lineTo(485.25,439.63); 
bunny.lineTo(485.25,439.63); 
bunny.lineTo(487.50,444.75); 
bunny.lineTo(487.50,444.75); 
bunny.lineTo(487.50,444.75); 
bunny.lineTo(489.13,448.88); 
bunny.lineTo(489.13,448.88); 
bunny.lineTo(489.13,448.88); 
bunny.lineTo(489.75,453.88); 
bunny.lineTo(489.75,453.88); 
bunny.lineTo(489.75,453.88); 
bunny.lineTo(490.63,459.38); 
bunny.lineTo(490.63,459.38); 
bunny.lineTo(490.63,459.38); 
bunny.lineTo(492.38,466.25); 
bunny.lineTo(492.38,466.25); 
bunny.lineTo(492.38,466.25); 
bunny.lineTo(493.38,472.88); 
bunny.lineTo(493.38,472.88); 
bunny.lineTo(493.38,472.88); 
bunny.lineTo(493.88,477.13); 
bunny.lineTo(493.88,477.13); 
bunny.lineTo(493.88,477.13); 
bunny.lineTo(494.38,480.63); 
bunny.lineTo(494.38,480.63); 
bunny.lineTo(494.38,480.63); 
bunny.lineTo(495.50,483.38); 
bunny.lineTo(495.50,483.38); 
bunny.lineTo(495.50,483.38); 
bunny.lineTo(498.00,485.25); 
bunny.lineTo(498.00,485.25); 
bunny.lineTo(498.00,485.25); 
bunny.lineTo(499.50,488.00); 
bunny.lineTo(499.50,488.00); 
bunny.lineTo(499.50,488.00); 
bunny.lineTo(500.63,491.50); 
bunny.lineTo(500.63,491.50); 
bunny.lineTo(500.63,491.50); 
bunny.lineTo(501.25,497.13); 
bunny.lineTo(501.25,497.13); 
bunny.lineTo(501.25,497.13); 
bunny.lineTo(500.13,501.13); 
bunny.lineTo(500.13,501.13); 
bunny.lineTo(500.13,501.13); 
bunny.lineTo(499.13,505.63); 
bunny.lineTo(499.13,505.63); 
bunny.lineTo(499.13,505.63); 
bunny.lineTo(497.88,507.88); 
bunny.lineTo(497.88,507.88); 
bunny.lineTo(497.88,507.88); 
bunny.lineTo(495.88,512.25); 
bunny.lineTo(495.88,512.25); 
bunny.lineTo(495.88,512.25); 
bunny.lineTo(494.38,516.25); 
bunny.lineTo(494.38,516.25); 
bunny.lineTo(494.38,516.25); 
bunny.lineTo(493.25,518.63); 
bunny.lineTo(493.25,518.63); 
bunny.lineTo(493.25,518.63); 
bunny.lineTo(491.88,521.88); 
bunny.lineTo(491.88,521.88); 
bunny.lineTo(491.88,521.88); 
bunny.lineTo(489.38,524.00); 
bunny.lineTo(489.38,524.00); 
bunny.lineTo(489.38,524.00); 
bunny.lineTo(489.13,526.63); 
bunny.lineTo(489.13,526.63); 
bunny.lineTo(489.13,526.63); 
bunny.lineTo(488.13,528.75); 
bunny.lineTo(488.13,528.75); 
bunny.closePath(); 
g2.draw(bunny); 
Color gold = new Color(255,215,0); 
g2.setColor(gold); 
g2.fill(bunny); 

Path2D chocoears = new Path2D.Float(); 
chocoears.moveTo(473.63, 287.50); 
chocoears.lineTo(473.63,287.50); 
chocoears.lineTo(477.13,290.13); 
chocoears.lineTo(477.13,290.13); 
chocoears.lineTo(477.13,290.13); 
chocoears.lineTo(479.50,292.25); 
chocoears.lineTo(479.50,292.25); 
chocoears.lineTo(479.50,292.25); 
chocoears.lineTo(481.50,295.00); 
chocoears.lineTo(481.50,295.00); 
chocoears.lineTo(481.50,295.00); 
chocoears.lineTo(483.38,299.13); 
chocoears.lineTo(483.38,299.13); 
chocoears.lineTo(483.38,299.13); 
chocoears.lineTo(483.38,303.63); 
chocoears.lineTo(483.38,303.63); 
chocoears.lineTo(483.38,303.63); 
chocoears.lineTo(482.63,308.00); 
chocoears.lineTo(482.63,308.00); 
chocoears.lineTo(482.63,308.00); 
chocoears.lineTo(480.75,311.75); 
chocoears.lineTo(480.75,311.75); 
chocoears.lineTo(480.75,311.75); 
chocoears.lineTo(469.25,325.00); 
chocoears.lineTo(469.25,325.00); 
chocoears.lineTo(469.25,325.00); 
chocoears.lineTo(464.00,330.63); 
chocoears.lineTo(464.00,330.63); 
chocoears.lineTo(464.00,330.63); 
chocoears.lineTo(458.50,337.13); 
chocoears.lineTo(458.50,337.13); 
chocoears.lineTo(458.50,337.13); 
chocoears.lineTo(451.75,345.13); 
chocoears.lineTo(451.75,345.13); 
chocoears.lineTo(451.75,345.13); 
chocoears.lineTo(442.33,351.00); 
chocoears.lineTo(442.33,351.00); 
chocoears.lineTo(442.33,351.00); 
chocoears.lineTo(435.33,351.00); 
chocoears.lineTo(435.33,351.00); 
chocoears.lineTo(435.33,351.00); 
chocoears.lineTo(432.00,349.00); 
chocoears.lineTo(432.00,349.00); 
chocoears.lineTo(432.00,349.00); 
chocoears.lineTo(427.00,348.67); 
chocoears.lineTo(427.00,348.67); 
chocoears.lineTo(427.00,348.67); 
chocoears.lineTo(420.00,342.67); 
chocoears.lineTo(420.00,342.67); 
chocoears.lineTo(420.00,342.67); 
chocoears.lineTo(415.33,339.33); 
chocoears.lineTo(415.33,339.33); 
chocoears.lineTo(415.33,339.33); 
chocoears.lineTo(412.00,341.00); 
chocoears.lineTo(412.00,341.00); 
chocoears.lineTo(412.00,341.00); 
chocoears.lineTo(408.33,337.00); 
chocoears.lineTo(408.33,337.00); 
chocoears.lineTo(408.33,337.00); 
chocoears.lineTo(407.33,333.33); 
chocoears.lineTo(407.33,333.33); 
chocoears.lineTo(407.33,333.33); 
chocoears.lineTo(403.67,329.67); 
chocoears.lineTo(403.67,329.67); 
chocoears.lineTo(403.67,329.67); 
chocoears.lineTo(399.00,331.67); 
chocoears.lineTo(399.00,331.67); 
chocoears.lineTo(399.00,331.67); 
chocoears.lineTo(396.33,329.33); 
chocoears.lineTo(396.33,329.33); 
chocoears.lineTo(396.33,329.33); 
chocoears.lineTo(394.33,326.67); 
chocoears.lineTo(394.33,326.67); 
chocoears.lineTo(394.33,326.67); 
chocoears.lineTo(386.67,326.33); 
chocoears.lineTo(386.67,326.33); 
chocoears.lineTo(386.67,326.33); 
chocoears.lineTo(382.33,320.67); 
chocoears.lineTo(382.33,320.67); 
chocoears.lineTo(382.33,320.67); 
chocoears.lineTo(378.00,322.00); 
chocoears.lineTo(378.00,322.00); 
chocoears.lineTo(378.00,322.00); 
chocoears.lineTo(372.00,320.00); 
chocoears.lineTo(372.00,320.00); 
chocoears.lineTo(372.00,320.00); 
chocoears.lineTo(373.33,318.00); 
chocoears.lineTo(373.33,318.00); 
chocoears.lineTo(373.33,318.00); 
chocoears.lineTo(371.33,315.67); 
chocoears.lineTo(371.33,315.67); 
chocoears.lineTo(371.33,315.67); 
chocoears.lineTo(365.33,316.00); 
chocoears.lineTo(365.33,316.00); 
chocoears.lineTo(365.33,316.00); 
chocoears.lineTo(355.25,312.00); 
chocoears.lineTo(355.25,312.00); 
chocoears.lineTo(355.25,312.00); 
chocoears.lineTo(361.00,310.88); 
chocoears.lineTo(361.00,310.88); 
chocoears.lineTo(361.00,310.88); 
chocoears.lineTo(364.50,309.75); 
chocoears.lineTo(364.50,309.75); 
chocoears.lineTo(364.50,309.75); 
chocoears.lineTo(367.75,307.50); 
chocoears.lineTo(367.75,307.50); 
chocoears.lineTo(367.75,307.50); 
chocoears.lineTo(373.25,302.50); 
chocoears.lineTo(373.25,302.50); 
chocoears.lineTo(373.25,302.50); 
chocoears.lineTo(379.13,296.13); 
chocoears.lineTo(379.13,296.13); 
chocoears.lineTo(379.13,296.13); 
chocoears.lineTo(384.25,290.13); 
chocoears.lineTo(384.25,290.13); 
chocoears.lineTo(384.25,290.13); 
chocoears.lineTo(389.25,283.88); 
chocoears.lineTo(389.25,283.88); 
chocoears.lineTo(389.25,283.88); 
chocoears.lineTo(393.25,279.50); 
chocoears.lineTo(393.25,279.50); 
chocoears.lineTo(393.25,279.50); 
chocoears.lineTo(396.63,275.50); 
chocoears.lineTo(396.63,275.50); 
chocoears.lineTo(396.63,275.50); 
chocoears.lineTo(400.50,271.38); 
chocoears.lineTo(400.50,271.38); 
chocoears.lineTo(400.50,271.38); 
chocoears.lineTo(406.25,266.75); 
chocoears.lineTo(406.25,266.75); 
chocoears.lineTo(406.25,266.75); 
chocoears.lineTo(411.50,262.13); 
chocoears.lineTo(411.50,262.13); 
chocoears.lineTo(411.50,262.13); 
chocoears.lineTo(414.88,259.75); 
chocoears.lineTo(414.88,259.75); 
chocoears.lineTo(414.88,259.75); 
chocoears.lineTo(420.25,256.63); 
chocoears.lineTo(420.25,256.63); 
chocoears.lineTo(420.25,256.63); 
chocoears.lineTo(424.63,253.88); 
chocoears.lineTo(424.63,253.88); 
chocoears.lineTo(424.63,253.88); 
chocoears.lineTo(427.50,252.88); 
chocoears.lineTo(427.50,252.88); 
chocoears.lineTo(427.50,252.88); 
chocoears.lineTo(431.13,251.50); 
chocoears.lineTo(431.13,251.50); 
chocoears.lineTo(431.13,251.50); 
chocoears.lineTo(434.25,251.13); 
chocoears.lineTo(434.25,251.13); 
chocoears.lineTo(434.25,251.13); 
chocoears.lineTo(437.63,251.00); 
chocoears.lineTo(437.63,251.00); 
chocoears.lineTo(437.63,251.00); 
chocoears.lineTo(442.50,252.25); 
chocoears.lineTo(442.50,252.25); 
chocoears.lineTo(442.50,252.25); 
chocoears.lineTo(445.50,253.75); 
chocoears.lineTo(445.50,253.75); 
chocoears.lineTo(445.50,253.75); 
chocoears.lineTo(447.88,255.25); 
chocoears.lineTo(447.88,255.25); 
chocoears.lineTo(447.88,255.25); 
chocoears.lineTo(450.50,258.25); 
chocoears.lineTo(450.50,258.25); 
chocoears.lineTo(450.50,258.25); 
chocoears.lineTo(451.88,260.75); 
chocoears.lineTo(451.88,260.75); 
chocoears.lineTo(451.88,260.75); 
chocoears.lineTo(453.38,264.13); 
chocoears.lineTo(453.38,264.13); 
chocoears.lineTo(453.38,264.13); 
chocoears.lineTo(454.25,266.88); 
chocoears.lineTo(454.25,266.88); 
chocoears.lineTo(454.25,266.88); 
chocoears.lineTo(455.50,271.13); 
chocoears.lineTo(455.50,271.13); 
chocoears.lineTo(455.50,271.13); 
chocoears.lineTo(455.63,274.75); 
chocoears.lineTo(455.63,274.75); 
chocoears.lineTo(455.63,274.75); 
chocoears.lineTo(456.75,276.50); 
chocoears.lineTo(456.75,276.50); 
chocoears.lineTo(456.75,276.50); 
chocoears.lineTo(458.63,278.00); 
chocoears.lineTo(458.63,278.00); 
chocoears.lineTo(458.63,278.00); 
chocoears.lineTo(460.00,278.88); 
chocoears.lineTo(460.00,278.88); 
chocoears.lineTo(460.00,278.88); 
chocoears.lineTo(461.00,280.75); 
chocoears.lineTo(461.00,280.75); 
chocoears.lineTo(461.00,280.75); 
chocoears.lineTo(462.75,281.00); 
chocoears.lineTo(462.75,281.00); 
chocoears.lineTo(462.75,281.00); 
chocoears.lineTo(464.88,281.88); 
chocoears.lineTo(464.88,281.88); 
chocoears.lineTo(464.88,281.88); 
chocoears.lineTo(467.38,283.00); 
chocoears.lineTo(467.38,283.00); 
chocoears.lineTo(467.38,283.00); 
chocoears.lineTo(470.13,284.50); 
chocoears.lineTo(470.13,284.50); 
chocoears.lineTo(470.13,284.50); 
chocoears.lineTo(472.00,286.13); 
chocoears.lineTo(472.00,286.13); 
chocoears.closePath(); 
g2.draw(chocoears); 
Color milkChocolate = new Color(111,68,51); 
g2.setColor(milkChocolate); 
g2.fill(chocoears); 

//Grass 
Rectangle grass = new Rectangle(0,525,getWidth(),100); 
Color lawnGreen = new Color(124,252,0); 
g2.setColor(lawnGreen); 
g2.fill(grass); 

List<Arc2D> blades = new ArrayList<Arc2D>(); 
for (int x = 0; x < getWidth(); x += 10) { 
    blades.add(new Arc2D.Double(x, 500, 10, 35, 105, 180, Arc2D.OPEN)); 
    blades.add(new Arc2D.Double(x - 5, 510, 10, 35, 105, 180, Arc2D.OPEN)); 
    blades.add(new Arc2D.Double(x, 520, 10, 35, 105, 180, Arc2D.OPEN)); 

} 
Color yellowGreen = new Color(107, 142, 35); 
g2.setColor(yellowGreen); 
for (Shape blade : blades) { 
    g2.draw(blade); 
} 
Ellipse2D.Double circle = new Ellipse2D.Double(60,100,25,25); 
g2.setColor(Color.RED); 
g2.fill(circle); 
Rectangle box = new Rectangle(150,100,20,80); 
g2.setColor(Color.YELLOW); 
g2.fill(box); 


} 
} 
+0

나는 파일, 아마도 텍스트 파일에 데이터를 넣어 코드를 정리하고 코드에 대한 코드를 사용합니다 , 데이터가 아닙니다. 그런 다음 프로그램 시작에 대한 데이터를 읽고 토끼를 그립니다. –

+0

또한 한 번 BufferedImage에 그려서 내 이미지를 내 'paintComponent (...)'메서드에 표시 할 것입니다. –

+0

어떻게 첫 번째 부분을 수행 할 수 있습니까? (.txt 파일) – user3394902

답변

1

당신은 내가

  1. 가의 paintComponent() 메소드의 외부 클래스 Path2D 개체를 만들 것입니다 무엇 이건.
  2. 는 각각

을 클래스 Path2D 페인트 ArrayList의 반복 수의 paintComponent() 메소드에 ArrayList를

  • 각 클래스 Path2D 객체를 추가하거나 다른 방법은 방법을 가지고하는 것입니다 :

    1. 클래스는
    2. 은 당신이 지금 BufferedImage
    3. 에 클래스 Path2D 객체를 페인트 만들어 각 클래스 Path2D 객체를 생성 BufferedImage를 가지고 있다면 ImageIcon을 만들 수 있고 JLabel을 사용할 수 있으며 사용자 정의 패널이 필요하지 않습니다.
  • +0

    예를 들어 줄 수 있습니까? 미안해, 내가 배운다. : p – user3394902

    +0

    @ user3394902, 시도하여 배우십시오. 첫 번째 방법이 가장 쉽습니다. 먼저 Path2D 객체를 만드는 코드를 클래스의 생성자에서 실행하는 별도의 메서드로 이동합니다. 각각의 Path2D 객체를 생성하여 ArrayList에 추가합니다. 그런 다음 paintComponent() 메서드에서 ArrayList를 반복하고 각 Path2D 객체를 그릴 수있는 몇 줄의 코드 만 있으면됩니다. – camickr

    +0

    [Custom Painting Approaches] (http://tips4java.wordpress.com/2009/05/08/custom-painting-approaches/)의 'DrawOnComponent' 예제를 참조하십시오. 그것은 Path2D 객체 대신 ColoredRectangles를 페인트하는 것 외에는하는 것과 매우 비슷합니다. – camickr

    0

    Heres 2 옵션 경로 지정을 정리할 때 고려해야 할 옵션입니다.

    1. 사용 SVG는, 내가 아는 한 라이브러리 바틱은 발견에서 : http://xmlgraphics.apache.org/batik/

    2. 내가 필요로하는 경로가 다음 일러스트 레이터에 수출 포토샵에서 생성 될 프로젝트가했다하면. 파일 형식은 각 행의 윤곽이 그려지는 작업이었고, 각 행은 공백으로 구분되었으며 마지막 항목에 명령 이름이있는 일련의 점으로 구성되었습니다. 샘플 입력이있었습니다.

      10 10 m 15 15 l 10 10 12 12 v

    당신은 그냥 파일을 읽을 경로를 만들 경우 행의 마지막 편지에 대한 테스트를을하고 포인트에 적절한 명령을 사용하여 볼 수 있듯이. 당연히 당신은 자신의 형식이나 절차를 만들 수 있지만 나를 위해 포토샵을 사용하여 확실히 좋았어 :)

    +0

    나는 좌표를 얻기 위해 바둑을 사용한다. 경로를 만드는 데 gimp를 사용했지만 모든 컴퓨터에서 실행할 수 있어야합니다. – user3394902