먼저 하트 모양의 패턴을 만든 다음 생성된 문자열을 하트 모양 패턴의 위치와 길이에 따라 잘라서 원하는 위치에 출력해야 합니다. 마지막으로 하트 모양을 전체 하트 모양으로 표시할 수 있습니다. 화면.
(추천 튜토리얼: java 입문 튜토리얼)
구현 코드:
package ddd; import java.awt.*; import javax.swing.JFrame; public class Cardioid extends JFrame { //获取屏幕大小 private static final int WIDTH = 500; private static final int HEIGHT = 500; private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width; private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height; public Cardioid(){ super("I love you");//设置窗口标题 this.setBackground(Color.BLACK); this.setLocation((WINDOW_WIDTH-WIDTH)/2,(WINDOW_HEIGHT-HEIGHT)/2);//设置窗口位置 this.setSize(WIDTH, HEIGHT);//设置窗口大小 this.setLayout(getLayout());//设置窗口布局 this.setVisible(true);//设置窗口可见 this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置窗口默认关闭方式 } public void paint(Graphics g){ double x,y,r;//横纵坐标以及半径 Image image = this.createImage(WIDTH, HEIGHT); Graphics pic = image.getGraphics(); for (int i = -2; i < 90; i++) { for (int j = -2; j < 90; j++) { r=Math.PI/45+Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*18; x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+WIDTH/2; y=-r*Math.sin(Math.PI/45*j)+HEIGHT/3; pic.setColor(Color.MAGENTA); pic.fillOval((int)x, (int)y, 2, 2); } g.drawImage(image,0,0,this);//生成图片 } } public static void main(String[] args) { new Cardioid(); } }
(추천 학습 영상: java 강좌)
구현 효과:
위 내용은 자바, 중국 발렌타인데이 고백 유물을 깨닫다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!