- 首先,创建的过程中呢,会用到一些函数,例如下文我们会提到的getSize()等等,所以我们先要去输入一些库,这就和C语言,C++一样,开头先要有库
import java.awt.*;
import javax.swing.*;
- 接下来,我们再开始创建窗口,先看一下源代码
public class Circle99Frame extends Frame { //创建一个窗口
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new Circle99Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置一个关闭窗口
frame.setSize(600 , 600); //setSize()设置窗口大小
frame.setVisible(true); //setVisible(true) 让窗口显示出来 }
在这里呢,我们用到了
(1)函数setSize() :用来设置窗口大小,例如我代码里,setSize(600 , 600) 这个数字能可以自己调节,从而来调整窗口的大小
(2)函数setVisible(true) :这样能使窗口能够呈现,输出出来
(3)frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 至于这一句话呢,是设置一个关闭窗口,这个呢其实记住就可以啦。
这样呢,一个窗口就做出来了,
完整的代码就是:
import java.awt.*;
import javax.swing.*;
public class Circle99Frame extends JFrame { //创建一个窗口
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new Circle99Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置一个关闭窗口
frame.setSize(600 , 600); //setSize()设置窗口大小
frame.setVisible(true); //setVisible(true) 让窗口显示出来 }
}
输出的结果就是这样一个框框,
- 但是,既然都做出框框来了,那些想在小伙伴面前大显身手的同学们,那就不如接着在里面搞点小东西,就比如在里面画好多圈圈,如果你想大显身手,那么我们就接着往下看, 我们先来分析下面的第一段代码
public void paint(Graphics g) //paint() 函数用来画图 Graphics 画图对象
{
g.drawString("circle 99", 20, 20); //drawString() 画个字符串
int x0 = getSize().width/2; //根据高度和宽度,画个中心位置
int y0 = getSize().height/2;
for(int r=0; r<getSize().height/2; r+=10)
{
g.setColor( getRandomColor() ); //画圆的颜色 函数getRandomColor() 对应下面有函数的定义
g.drawOval(x0-r, y0-r, r*2, r*2); //画圆 (位置,位置,圆的宽度,圆的高度)
}
}
如图所见,
接下来,
(1)我们在那个窗口里,用了paint() 函数画图,Graphics 就作为画图的对象,就相当于给它取了个名字 :g
(2)
getSize().width/2;
getSize().height/2;
这些函数是为了找圆的中心位置
(3)还用了一个函数 getRandomColor() 用来画色
(4)还有一个g.drawOval(x0-r, y0-r, r2, r2) 这个是来判定圆的宽度和高度
4.那么,就会有同学问了,这后面2个函数为什么在for循环里呢?
其实,你做完后对比一下就知道啦,画一个圆的时候当然不用for循环,但你要画好多个,当然要有很多个宽度,高度以及颜色啦!
说到颜色,那么我们就继续吧,毕竟,接下来还有一段代码呢
Color getRandomColor() //随机函数
{
return new Color(
(int)(Math.random()*256),
(int)(Math.random()*256),
(int)(Math.random()*256)
);
}
这个就是颜色啦,当然我们这里是随机的颜色,所以就用到了Math.random(),之前文章里我也讲过Math.random() ,所以这里也就不细说啦!
- 这样我们就完成这整个程序了,把他们合并在一起,所有的代码如下:
import java.awt.*;
import javax.swing.*;
public class Circle99Frame extends JFrame { //创建一个窗口
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new Circle99Frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置一个关闭窗口
frame.setSize(600 , 600); //setSize()设置窗口大小
frame.setVisible(true); //setVisible(true) 让窗口显示出来
}
public void paint(Graphics g) //paint() 函数用来画图 Graphics 画图对象
{
g.drawString("circle 99", 20, 20); //drawString() 画个字符串
int x0 = getSize().width/2; //根据高度和宽度,画个中心位置
int y0 = getSize().height/2;
for(int r=0; r<getSize().height/2; r+=10)
{
g.setColor( getRandomColor() ); //画圆的颜色 函数getRandomColor() 对应下面有函数的定义
g.drawOval(x0-r, y0-r, r*2, r*2); //画圆 (位置,位置,圆的宽度,圆的高度)
}
}
Color getRandomColor() //随机函数
{
return new Color(
(int)(Math.random()*256),
(int)(Math.random()*256),
(int)(Math.random()*256)
);
}
}
6.那么最后的结果也就是:
7.
最后,我也再次介绍一下我自己,
我叫 “你好!壹个世界”, 一个正在努力的人