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. nsstring基本数据类型的包装类

    // //  main.m //  10-基本数据类型的包装类 // //  Created by apple on 14-3-20. //  Copyright (c) 2014年 apple. A ...

  2. ATS连接 https

    HTTPS协议是Http Over SSL,简单来说就是HTTP的安全版本,在HTTP的基础上增加SSL/TLS加密传输协议,通过HTTPS加密传输和身份认证保证了传输过程的安全性.在登录网银和电子邮 ...

  3. (Abstract Factory)抽象工厂

    定义: 抽象工厂同工厂方法有相似处:都提供了对子类创建的封装,都是有工厂方法的接口实现类的中决定了子类被创建为什么对象. 不同于工厂方法之处:工厂方法创建的对象只是一个类型的子类,而抽象工厂创建的对象 ...

  4. tableview的cell点击和取消

    #pragma mark - 选择cell: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPa ...

  5. Leetcode: Trapping Rain Water II

    Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevati ...

  6. Google 推出的 Java 编码规范(转)

    原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http://www.dahuatu.com/1225/988516.html 原文地址:http: ...

  7. 传递闭包+二进制位运算+floyd(poj2570)

    Fiber Network Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3125   Accepted: 1436 Des ...

  8. bzoj3489 A simple rmq problem 可持久化树套树

    先预处理出两个个数组pre,next.pre[i]表示上一个与i位置数字相同的位置,若不存在则设为0:next[i]表示下一个与i位置数字相同的位置,若不存在则设为n+1.那么一个满足在区间[L,R] ...

  9. mac office

    弄了个office2016正式版的教程,大多数朋友表示搞不懂,SO重新写了个超级详细的,在不懂我也是醉了.Mac office 2016免费安装教程微软近日正式向 Office 365 订阅用户发布了 ...

  10. struts2中的addActionError 、addFieldError、addActionMessage的方法

    一 addActionError ①概念addActionError是Action级别的错误消息 ②添加this.addActionError("错误信息"); ③显示<s: ...