Java窗口--漫天星星

学习Java过程中,在树上遇到的一个例子,我将这个例子“进化”了。具体向下看:

编写工具:EditPlus

JDK版本: 1.7.0_60-b19

要求:输出 300 颗位置随机的星星

效果如下:

我认为花星星并不需要太过于复杂的绘制

大婶们,见了别笑小弟自恋哦~~~~

思路:

1 . 创建一个 1024 x 768 的窗口

2 . 将画布添加到窗口上 (在窗口的重绘方法中花 300 颗星星)

3 . 显示窗口

 1 import java.awt.*;    //导入包涵窗口的类
 2
 3 public class ColorfullStar    //主类
 4 {
 5     public static void main(String args[])    //主函数
 6     {
 7         /*引用Frame对象*/
 8         Frame w = new Frame("+-----------漫天星星-------------+");
 9
10         /*设置窗口属性*/
11         w.setSize(1024, 768);
12         w.setBackground(Color.BLACK);
13
14         /*引用MyPanel对象*/
15         MyPanel mp = new MyPanel();
16
17         /*将画布(MyPanel对象的引用)加入窗口*/
18         w.add(mp);
19
20         /*显示窗口*/
21         w.show();
22     }
23 }
24
25
26 class MyPanel extends Panel    //继承Panel
27 {
28     public void paint(Graphics g)    //重绘方法
29     {
30         double a, b, c;    //用来装随机数的容器
31
32         for (int i = 0; i < 300; ++i)    //将会输出300课星星
33         {
34             /*为变量获得随机数*/
35             a = Math.random();
36             b = Math.random();
37             c = Math.random();
38
39             /*随机设置颜色、字体,输出星星*/
40             g.setColor(new Color((int)(a * 255), (int)(b * 255), (int)(c * 255)));    //设置星星颜色
41             g.setFont(new Font("Consolas", /*(int)(a * 4) 随机字体样式*/ Font.PLAIN, (int)(c * 32)));    //设置字体属性(星星的样式)
42             g.drawString("*", (int)(a * 1024), (int)(b * 768));    //输出星星
43         }
44     }
45 }

大哥我今天第一次发表文章,心里素质不怎么好,还需要多多磨练,各位要支持哦~~~

大伙有空记得来踩我的QQ空间哦

http://user.qzone.qq.com/865741184

微博的访问量就靠你们了

http://t.qq.com/binlikeyou100

本文转自:http://www.cnblogs.com/Carien/p/ColorfullStar.html

Java窗口--漫天星星

时间: 2024-08-04 17:33:00

Java窗口--漫天星星的相关文章

java初学打印星星以及九九乘法表

Java中打印星星,就是为了让初学者熟悉和掌握循环的使用方法: 给定一个图形如: * *** ***** ******* 第一种方式:由循环输出各个部分,再结合起来 for(int i=1;i<=4;i++){< p=""> for(int j=1;j<=7-i;j++){< p=""> system.out.print(" "); } for(int j=1;j<=2*i-1;j++){< p=&

java窗口按钮设置五个方向

java窗口按钮设置五个方向 代码如下: package Day08; import java.awt.BorderLayout;import javax.swing.JButton;import javax.swing.JFrame; @SuppressWarnings("serial")public class ShowBorderLayout extends JFrame{ public ShowBorderLayout() { // 设置BorderLayout的水平间距为5,

学习java窗口基本操作时无聊写的

学习java窗口基本操作时无聊写的 就当记录 代码如下: package day08; import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;

java窗口按钮位置设置

java窗口按钮位置设置 代码如下: package Day08; import java.awt.BorderLayout; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel; public class Homework2 extends JFrame { public Homework2() { JPanel p1 = new JPanel(); p1.setLayout(new Bo

luogu P1502 窗口的星星

题目链接 P1502 窗口的星星 题解 扫描线+线段树 线段树的每一个节点处理的是左边框放在当前x-1位置时的框内星星的亮度大小 按照x坐标进行离散化,得到离散化后每一个坐标x的可影响的范围 维护扫描线,扫到可以加某颗星星就把星星加进去,扫到该出来的时候就把星星搞出来,线段树维护一下 代码 #include<cstdio> #include<cstring> #include<algorithm> const int maxn = 100007; int n,w,h;

P1502 窗口的星星(扫描线入门第一题)

题目链接:https://www.luogu.org/problem/P1502 P1502 窗口的星星 提交2.78k 通过682 时间限制1.00s 内存限制125.00MB 提交代码加入收藏 题目提供者cyrcyr 难度省选/NOI- 历史分数100 提交记录查看题解 标签 高性能高级数据结构 查看算法标签 相关讨论 进入讨论版 查看讨论 推荐题目 查看推荐 展开 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,

java窗口编程(1)

在使用java进行窗口编程时,需要使用到它的扩展包javax,使用到的组件基本都在javax.swing中.所以首先需要导入: import javax.swing.*; swing中有三个顶层容器,JFrame.JDialog.JApplet,要在屏幕上显示,容器是基础,其它的组件必须依托于某一种容器菜能展现出来.所以通常我们会将写一个类继承某一种容器,然后按照我们的需求,添加其它的组件. public myFrame extends Frame{ public myFrame() { set

selenium2.0+java窗口切换函数

最近使用selenium+java的时候需要使用窗口切换,网上找了下,比较简单,为以后学习记录下来 //窗口切换函数 public void windowsFocus() { String currentWindow = driver.getWindowHandle();//获取当前窗口句柄 Set<String> handles = driver.getWindowHandles();//获取所有窗口句柄 Iterator<String> it = handles.iterato

【Luogu P1502】 窗口的星星

→传送窗口 (复制一下题面好了~) 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户,天真的小卡总是希望能够在晚上能看到最多最亮的星星,但是窗子的大小是固定的,边也必须和地面平行.这时小卡使用了超能力(透视术)知道了墙后面每个星星的位置和亮度,但是小卡发动超能力后就很疲劳,只好拜托你告诉他最多能够有总和多亮的星星能出现在窗口上. 输入输出格式 输入格式: 本题有多组数据,第一行为T 表示有T