制作奥运五环
2016-05-25 12:26
489 查看
学习了AWT绘图技术后,简单的做一个课后习题。
使用不同的颜色绘制五环图形,并在五环下显示年月日时间,文字要求宋体,大小为14;
创建绘图面板。
使用不同的颜色绘制五环图形,并在五环下显示年月日时间,文字要求宋体,大小为14;
package com.lzw; import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JPanel; public class DrawWindow extends JFrame { private JPanel panel; public static void main(String args[]) { try { DrawWindow frame = new DrawWindow(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } public DrawWindow() { super(); setBounds(100, 100, 458, 357); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(getPanel(), BorderLayout.CENTER); // } protected JPanel getPanel() { if (panel == null) { panel = new MyPanel(); } return panel; } }
创建绘图面板。
package com.lzw; import java.awt.*; import java.util.Date; import javax.swing.JPanel; public class MyPanel extends JPanel { private static final int OVAL_WIDTH = 150; private static final int OVAL_HEIGHT = 150; public MyPanel() { super(); // } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(4.0F)); g2.setColor(Color.BLUE); g2.drawOval(10, 10, OVAL_WIDTH, OVAL_HEIGHT); // 绘制第1个圆形 g2.setStroke(new BasicStroke(8.0F)); g2.setColor(Color.CYAN); g2.drawOval(130, 10, OVAL_WIDTH, OVAL_HEIGHT); // 绘制第2个圆形 g2.setStroke(new BasicStroke(2.0F)); g2.setColor(Color.GREEN); g2.drawOval(250, 10, OVAL_WIDTH, OVAL_HEIGHT); // 绘制第3个圆形 g2.setStroke(new BasicStroke(5.0F)); g2.setColor(Color.MAGENTA); g2.drawOval(70, 120, OVAL_WIDTH, OVAL_HEIGHT); // 绘制第4个圆形 g2.setStroke(new BasicStroke(9.0F)); g2.setColor(Color.ORANGE); g2.drawOval(190, 120, OVAL_WIDTH, OVAL_HEIGHT); // 绘制第5个圆形 Date now = new Date(2008-1900,7,8); String nowStr = String.format("%tY年%tm月%td日", new Date[]{now, now, now}); Font font = new Font("宋体",Font.BOLD,14); g2.setFont(font); g2.drawString(nowStr, 80, 300); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树