import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image; import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel; public class testStar { /**
* @param args
* 满天星星图
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf=new JFrame();
jf.setSize(800, 800);
jf.setBackground(Color.BLACK);
//jf.add(new testStar());
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
jf.add(new ShapesPanel());
jf.setTitle("满天星星"); /*public void paint(Graphics g){
GraphicsDemod myGrapics=new GraphicsDemod();
myGrapics.paintComponent(g);
}*/
}
}
class ShapesPanel extends JPanel{
public void paintComponent(Graphics g){
int placeX;
int placeY;
int size;//存放字体大小,星星是直接输出的*,用字体控制起大小
//画星星
for(int i=0;i<300;i++){
//Math是数学类,random()是Math类中的一个方法,random本身只产生(0~1)之间的小数,
//random()*10 意思是产生0~10之间的小数 ,
//int(random()*10)的意思是强制取整,把小数部分去掉只去整数部分,所以 就变成了 产生0~9之间的整数。
placeX=(int) (800*Math.random());
placeY=(int)(800*Math.random());
size=(int)(20*Math.random());
g.setColor(Color.white);
g.drawString("*", placeX, placeY);//在X,Y的位置处画上特定的符号*
}
//画月亮
placeX=(int) (750*Math.random());
g.fillOval(placeX, 100, 100, 100);//placeX,100是圆心坐标(确切说是椭圆的中心对称点)的x,y值,后面两个是两条半长轴的长度。
//filloval画的是椭圆,后面两个相等当然就是圆了
g.setColor(Color.black);
g.fillOval(placeX-20, 80, 100, 100);
//画地面
g.setColor(Color.white);
g.fillOval(-400, 710, 1000, 100); Image mImage=new ImageIcon("./images/gril.png").getImage();
g.drawImage(mImage, 80, 500, 300, 300, null); }
}

paint方法必须在JPanel中

程序结果图

java GUI画满天星的更多相关文章

  1. Java GUI 画点

    import java.awt.EventQueue; public class Paint { private JFrame frame; /** * Launch the application. ...

  2. Java GUI画圆。

    package ydj; import java.awt.*; import javax.swing.*; public class huayuan extends JFrame { public h ...

  3. Java GUI入门手册-AWT篇

    Java GUI入门手册: AWT是基本的GUI设计工具,重点学习其中的布局格式以及事件监听事件. 首先创建一个窗口,我们先分析Frame类中的方法: 通过上图,可以看出frame是由构造方法的重载: ...

  4. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  5. JAVA GUI

    JAVA GUI中的事件处理:   委托事件模型:事件源对象和监听器对象具有绑定关系   一个监听器可以绑定多个事件源 一个事件源也可以绑定多个监听器 监听器有各自监听的事件类型   设置容器的布局管 ...

  6. paip.java gui swt/jface 最佳实践

    paip.java gui swt/jface 最佳实践 1. 工具:Eclipse +jigloo4 1 2. 安装插件: 1 1. IMPORT swt lib 2 2. 新建立窗体 2 3. 运 ...

  7. 写在学习Java GUI之前

    Java GUI就是用Java语言开发桌面应用,而Java又有三个Java GUI库,分别为AWT,Swing和SWT/JFace. 现在要学的是Swing库. 后记:开发桌面应用,不止一种技术,现在 ...

  8. JAVA GUI 工具

    Java GUI图形界面开发工具   上大学那会儿比较主流的Java图形开发插件是:Visual Editor 和 SWT Designer, 不久又出了个Jigloo, 但去官网看了下发现这个东西也 ...

  9. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

随机推荐

  1. ThinkPHP 自动验证与自动填充无效可能的原因(转)

    自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() Think ...

  2. Gunicorn + Django 部署

    1. 下载gunicorn pip install gunicorn 2. 运行 gunicorn AutoSa.wsgi:application ## AutoSa为我project的名字,后面的不 ...

  3. 让show parameter显示隐含参数(12C)

    1.创建视图show_hidden_v$parameter create or replace view show_hidden_v$parameter (inst_id,NUM , NAME , T ...

  4. 隐藏ipad/ip顶部状态栏

    在GameViewController.swift中重载prefersStatusBarHidden方法,返回true override func prefersStatusBarHidden() - ...

  5. for循环、for循环嵌套

    循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. 循环的最后一句:循环条件不再满足. 1.找出100以内与7有关的数并打印:(1).从1找到100(2).找出与7有关的数 ...

  6. CCF真题之窗口

    201403-2 问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示 ...

  7. android_demo01

    /layout/activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ ...

  8. 自定义view(使用EditTetx实现记事本特效)

    先看一下效果图: 思路: 创建一个类,继承自EditText,在onDraw方法中绘制我们的下划线,通过屏幕的高度和每行控件的高度的比值得出屏幕中应该绘制多少行下划线,再来实现一些自定义的属性,设置控 ...

  9. bootstrap, boosting, bagging 几种方法的联系

    http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, jack ...

  10. SqlServer 的提示符(Option/With等提示符)不是什么时候都可以用的

    我们在做SqlServer的查询调优的时候,经常会在语句末尾用到option(loop/merge/hash join)或在join语句前直接声明loop/merge/hash,来强制SqlServe ...