A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Alexander 中级黑马   /  2014-3-4 12:58  /  1398 人查看  /  5 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

可能你在学Java的UI的时候被这样的问题所烦恼
要用纯Java语言画出一个用户界面实在是太麻烦了
更别说那些多彩,多样的图像,现在,我就为大家展示我用Java画出来的图像

下面是源代码

import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.util.Random;

import javax.swing.*;

public class ArtDesign extends JFrame {

        public ArtDesign() {
                super("艺术图案");
                setBounds(500, 100, 400, 400);
                setVisible(true);
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
       
        public void paint(Graphics g) {
                Graphics2D g2 = (Graphics2D)g;
                //只要调整后面的四个参数,你会发现,图像变样了!
                Ellipse2D.Float ellipse = new Ellipse2D.Float(-80, 20, 130, 60);
                Random random = new Random();
                //如要调整圆心的相对位置,比如向下移动,调整translate()中参数y,使其增大即可
                g2.translate(200, 180);
                //要画出很多颜色,当然颜色的三个参数要随机取了
                int R = random.nextInt(256);
                int G = random.nextInt(256);
                int B = random.nextInt(256);
                Color color = new Color(R, G, B);
                g2.setColor(color);
                g2.draw(ellipse);
                int i = 0;
               
                while(i < 100) {
                        R = random.nextInt(250);
                        G = random.nextInt(256);
                        B = random.nextInt(256);
                        color = new Color(R, G, B);
                        g2.setColor(color);
                        g2.rotate(10);
                        g2.draw(ellipse);
                        i ++;
                }
               
        }
       
        public static void main(String[] args) {
                new ArtDesign();
        }
}


看了上面的代码,是不是感觉要画出很漂亮的图片很简单啊?

更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

5 个回复

倒序浏览
:LSwing在java里面一般很少作要求 不过LZ画的不错 虽然我还没运行
回复 使用道具 举报
kira 发表于 2014-3-4 17:59
Swing在java里面一般很少作要求 不过LZ画的不错 虽然我还没运行

呵呵,这是个给大家娱乐的,搞不好会在什么地方用的说不定:lol
回复 使用道具 举报
每次画得不不一样,不错。
swing我差不多是跳过的。。。。得去补了。
回复 使用道具 举报
e.c 发表于 2014-3-4 20:42
每次画得不不一样,不错。
swing我差不多是跳过的。。。。得去补了。

这个程序还可以改进,就是可以设计一个界面用来输入Ellipse2D.Float(-80, 20, 130, 60)中的四个参数,然后点击确定就可以查看图像了,老是改代码挺麻烦的
回复 使用道具 举报
Alexander 发表于 2014-3-4 21:11
这个程序还可以改进,就是可以设计一个界面用来输入Ellipse2D.Float(-80, 20, 130, 60)中的四个参数,然 ...

哈哈 哥们不错 学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马