打造一个独一无二的爱心
爱心在日常生活中是代表爱与希望的一种图形,如果运用到程序设计中,那么就更为特别。因此,我们要开始用Java 来打造一个独一无二的爱心。
利用图形类在窗口中画出爱心
在Java中,我们可以利用图形类(Graphics)来辅助我们画出一个爱心。只需要调用图形类的绘图方法,就能够将一个精美的爱心作出来。首先,我们需要创建一个窗口,并在窗口中添加相应的代码
```
public class MyFrame extends JFrame {
public static void main(String[] args) {
MyFrame myframe = new MyFrame();
}
public MyFrame() {
setTitle("I love Java");
setSize(400, 400);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
```
运行以上代码后,就可创建一个窗口,并且在窗口中添加"ILoveJava"的字样。接下来,我们就可以开始绘制我们的爱心图案。
```
public class MyFrame extends JFrame {
public static void main(String[] args) {
MyFrame myframe = new MyFrame();
}
public MyFrame() {
setTitle("I love Java");
setSize(400, 400);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(new MyCanvas());
}
}
class MyCanvas extends Canvas {
public MyCanvas() {
setSize(400, 400);
}
public void paint(Graphics graphics) {
Graphics2D g2d = (Graphics2D) graphics;
g2d.setStroke(new BasicStroke(3.0f));
g2d.setColor(Color.RED);
g2d.draw(new Arc2D.Double(50, 100, 100, 100, -30, -120, Arc2D.OPEN));
g2d.draw(new Arc2D.Double(150, 100, 100, 100, -150, -120, Arc2D.OPEN));
g2d.drawLine(100, 150, 200, 150);
}
}
```
以上代码中的MyFrame类是我们的父窗口类,而MyCanvas类则是我们创建的一个画布类,图案是画在画布上的。我们在爱心图形的两边通过调用Arc2D.Double方法得到了两个半圆形,同时在中间通过调用drawLine方法,连接起了这两个半圆形。这样,就成功地生成了一个漂亮的红色爱心,并标注上"I love Java"的字样。
代码实现 I LOVE JAVA
为了让这个爱心更具有创意和内涵,我们不妨将"I love Java"几个词汇运用到Java程序设计中,借助GUI控件的布局,将这些词汇放入真正的爱心图案中。
```
public class MyFrame extends JFrame {
public static void main(String[] args) {
MyFrame myframe = new MyFrame();
}
public MyFrame() {
setTitle("I love Java");
setSize(400, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JLabel label1 = new JLabel("I");
JLabel label2 = new JLabel("L");
JLabel label3 = new JLabel("O");
JLabel label4 = new JLabel("V");
JLabel label5 = new JLabel("E");
JLabel label6 = new JLabel("Java");
label1.setHorizontalAlignment(JLabel.CENTER);
label2.setHorizontalAlignment(JLabel.CENTER);
label3.setHorizontalAlignment(JLabel.CENTER);
label4.setHorizontalAlignment(JLabel.CENTER);
label5.setHorizontalAlignment(JLabel.CENTER);
label6.setHorizontalAlignment(JLabel.CENTER);
FlowLayout layout = new FlowLayout();
setLayout(layout);
add(new MyCanvas());
add(label1);
add(label2);
add(label3);
add(label4);
add(label5);
add(label6);
setVisible(true);
}
}
class MyCanvas extends Canvas {
public MyCanvas() {
setSize(150, 150);
}
public void paint(Graphics graphics) {
Graphics2D g2d = (Graphics2D) graphics;
g2d.setStroke(new BasicStroke(3.0f));
g2d.setColor(new Color(0,255,0));
g2d.draw(new Arc2D.Double(5,5,135,135, -30, -120, Arc2D.OPEN));
g2d.draw(new Arc2D.Double(110,5,135,135, -150, -120, Arc2D.OPEN));
g2d.drawLine(75, 75, 220, 75);
}
}
```
以上代码中,我们运用了JLabel控件和GUI布局,将"I love Java"的字样组装到了爱心图案中。FlowLayout布局可以让所有控件按顺序横向排列并且自适应窗口大小,而且我们通过setHorizontalAlignment()方法让每个字母水平居中,美感大大提升。
最终,我们成功地将创意套入爱心图案中,用Java编写出了一个颇具个性的I Love Java程序,为我们的学习生活增添了无限乐趣。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javapeixunkyc.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!