创建GUI应用和变量
创建GUI应用和变量
1.GUI应用
1.1什么是GUI(图形用户页面)应用
使用窗口,面板,按钮等图形元素构建的界面称为图形界面系统。
-
从1979年施乐的Alto开始到现在的Android,IOS,都是GUI界面,是现代计算机的标准。
-
图形页面到好处显而易见:方便,直观,用户友好。
-
图形界面的底层编码量非常大,各种编程语言提供了API组件封装了GUI底层代码,使用API可以快速开发出图形用户页面。
a. Swing API
b.JavaFX
c.Eclipse SWT
d. ......
1.2 一个小目标:跑泡泡项目
利用跑泡泡项目学习Java基础知识和面向对象知识。
1.3使用tedu工具创建图形页面
-
从doc.canglaoshi.org下载GUI工具tedu_utils1.0.jar;
-
创建Elicpse项目,将tedu_utils1.0.jar导入到项目中
-
创建图形用户界面类:
public class Demo02 extends App{ public static void main(String[] args){ Demo02 demo=new Demo02(); demo.start(); } } -
启动图形用户界面
1.4自定义绘制
使用自定义功能添加椭圆形:
-
添加重写的方法
public class Demo02 extends App{ public void painting(Graphics2D g){ //自定义绘制 } public static void main(String[] args){ Demo02 demo=new Demo02(); demo.start(); } }Graphics2D g是画笔对象,其中封装了非常多的绘图功能,利用g可以简单的绘制任意自己想要的图形
-
利用Graphics2D g绘制椭圆:
public class Demo02 extends App{ public void painting(Graphics2D g){ g.drawString("Hello World",90,20); g.fillOval(30,80,60,70); } public static void main(String[] args){ Demo02 demo=new Demo02(); demo.start(); } }1.5更改画笔的颜色
红色R范围:0~255;
绿色G范围:0~255;
蓝色B范围:0~255;
三种颜色全部数值组合可以得到16777215种颜色。如:
//创建颜色 new Color(0,255,0);//绿色,顺序 R, G, B new Color(255,0,0);//红色 new Color(0,0,255);//蓝色 new Color(255,255,0);//黄色 // ... //设置画笔颜色 g.setColor(new Color(0,0,255));利用自定义颜色绘制椭圆形:
public class Demo02 extends App{ public void painting(Graphics2D g){ g.setColor(new Color(255,0,0));//红色 g.drawSting("Hello World",90,20); g.fillOval(30,80,60,70); } public static void main(String[] args){ Demo02 demo=new Demo02(); demo.start(); }变量
2.1什么是变量
变量源于数学,是计算机语言中用于储存计算机数据,储存计算结果的储存结构。
案例:使用变量进行计算:
int a=100; int b=50; int c=a+b;2.2变量的语法
Java是强类型编程语言,变量有着严格的语法规定:
-
变量必须用明确的类型声明
a.未经声明的变量不能使用
b.变量的类型与数据类型匹配
-
在第一次读取使用变量前,必须使用赋值语句初始化
a.未经初始化的变量不能使用
-
变量的值可以进行多次的更改
-
使用变量名获取变量的值
-
案例:正确的使用变量:
int a;//声明变量 a=5;//初始化变量的值 int b=20;//声明变量直接初始化 b=30;//再次更改变量的值 int c=a+b;//使用变量名称获取变量的值 System.out.println(c);//输出使用变量的值案例:不正确使用变量
x=5;//错误,没有声明变量的类型 int y=n;//错误,使用没有声明的变量n int k=0.5;//错误,不正确的数据类型赋值,小数不能赋值给整数 int z; System.out.println(z);//错误,使用了没有初始化的变量z -
-
2.3注释
注释的语法:
- 单行注释://开始一直到当前行结束
- 多行注释:/* 开始到 */结束,可以有多行内容,不能嵌套使用
- 文档注释:/** 开始到 **/结束,用户编写Java手册
2.4增加变量的值
变量的好处就是可以实现数据的变化
int i=5;
i=i+1;
System.out.println(i);
2.5使用变量控制圆形的运动
- 声明变量,设置初始值
- 定时的更新变量的值
- 定时重新绘制椭圆
案例代码:
public class Demo07 extends App{
int x=0;//初始值
int y=0;//初始值
public void painting(Graphics2D g){
x=x+1;//控制坐标变化
g.fillOval(x,y,60,60);//用变量绘制椭圆
}
public static void main(String[] args){
Demo07 demo=new Demo07();
demo.start();
}
}
2.6显示更多的圆形
- 利用一组x,y就可以控制一个圆形的移动,稍加推理能得出再增加一组就可以控制新的圆形移动。
- x坐标增加可以实现圆横向运动,如果同时改变y坐标,就可以实现圆形同时在两个方向上运动,复合结果就是斜着运动。
- 如果控制x和y的增量不同,可以得到不同倾斜方向的运动。
- 如果将x或y坐标减少,则会出现相反的运动轨迹。
- 如果设置x和y的初始值是特定值,就可以控制圆形的初始位置。
- 设置画笔颜色,就可以绘制多彩的圆形,就像画笔一样。
/*
*绘制更多的圆形
*/
public class Demo08 extends App{
int x=0;//初始值0,只运行一次
int y=0;//初始值0
int x2=20;//出现的特定位置
int y2=400;//出现的特定位置
public void painting(Graphics2D g){
x=x+1;
System.out.println(x);
g.setColor(new Color(0,0,255));//设置蓝色
g.fillOval(x,y,60,60);//绘制第一个圆
x2=x2+2;
y2=y2-1;
g.setColor(new Color(255,0,0));//设置红色
g.fillOval(x2,y2,50,50);//绘制第二个圆
}
public static void main(String[] args){
Demo08 demo=new Demo08();
demo.start();
}
}
2.7变量命名规范(不能违反)
-
命名的语法规范
-
只能由字母,数字,"_"和"$"符组成
- 正确:age, user_bame, _test, $str
- 错误:a*, $+
-
不能以数字开头
- 正确: x1, y2
- 错误:1a, 2b
-
Java大小写敏感,命名变量时需要注意,userName和username是不同的命名
-
不能使用Java关键字或字面量作为命名,如:int, if, for, break等
- 正确:go_to, clazz
- 错误:goto, class
-
Java关键字:
| abstract | assert | boolean | break |
|---|---|---|---|
| byte | case | catch | char |
| class | const | continue | default |
| do | double | else | enum |
| extends | final | finally | float |
| for | goto | if | implements |
| import | instanceof | int | interface |
| long | native | new | package |
| private | protected | public | return |
| short | static | stricffp | super |
| switch | synchronized | this | throw |
| throws | transient | try | void |
| volatile | while |
- 企业编程规范:
- 标识符的命名应'见名知意'
- userName concurrentPoolThread CopyOnWriteArrayList
- 标识符的命名采用"驼峰命名法",即如果变量的名字由多个单词组成,除第一个单词外,其他单词的首字母大写,其余的字母小写
- 中文(包括拼音,拼音缩写)可以作为变量名,但不提倡使用
- 错误:年龄,xiongchenglong, nc
- 标识符的命名应'见名知意'
案例:
/**
*变量命名规则
**/
int abc=5;
int score=100;
int $time=6;
int _time=8;
System.out.printlnn(abc);
System.out.printlnn(score);
System.out.printlnn($time);
System.out.printlnn(_time);
//变量名区别大小写
int userAge=8;
int userage=9;
System.out.printlnn(userAge);
System.out.printlnn(userage);
int 8abc=8;//编译错误,数字不能作为开头字符
int 分数=100;//可以使用中文作为变量名,但是不建议使用
System.out.printlnn(分数);
//不能使用关键字作为变量名
int public;//编译错误
int goto;//编译错误
int studentAge=18;
System.out.printlnn(studentAge);
总结
a.GUI是一套非常复杂的API,可以直接利用这些API快速创建图形用户界面应用。
b.利用图形用户界面的Graphics2D API,可以方便的绘制字符串和圆形。
c.变量用于储存数据,可以利用变量控制程序中的数据,如控制圆的运动轨迹。
d.Java是强类型编程语言,变量的声明有着严谨的规定,不能违反。
e.Java变量名必须遵守Java命名规范。

浙公网安备 33010602011771号