项目目标:1.黑黑的天空
2.天空中有很多星星
3.天空中还有一个月亮
4.天空中再加一个照片
Java代码:
package example;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class StarDemo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//JFrame:窗口对象
JFrame jf=new JFrame("满天星");
StarJp sp = new StarJp();
//添加画纸
jf.add(sp);
//设置窗口大小
jf.setSize(800, 600);
//设置背景
jf.setBackground(Color.black);
//设置默认关闭
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗口居中
jf.setLocationRelativeTo(null);
//设置窗口可见
jf.setVisible(true);
}
}
class StarJp extends JPanel{
//@Override//画纸
//Random r=new Random();
public void paint(Graphics g) {
//g:代表画笔
for(int i = 1; i <= 300; i++){
//设置画笔颜色
g.setColor(Color.white);
//设置星星的大小
g.setFont(new Font(Font.SANS_SERIF,Font.BOLD,10));
//设置星星的位置
g.drawString("*",(int)(Math.random()*800),(int)(Math.random()*600));
}
g.setColor(Color.yellow);
//花一个月亮(设置2个椭圆,进行重叠可以形成一个月亮)
g.fillOval(100, 50, 100, 100);
g.setColor(Color.black);
g.fillOval(70, 30, 100, 100);
try {
//插入一个图片
BufferedImage img = ImageIO.read(new File("4{]TSW2C77${OC8RLWM30@C.gif"));
//设置图片的位置
g.drawImage(img,735, 512, img.getWidth(), img.getHeight(), null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
项目实现结果: