AWT,图形界面编程。
java想要将一个类用AWT编程,就必须先继承Java的Frame类,这样自己就成了一个框架类(当然需要导入AWT的包),然后创建框架对象。。
public class MyFrame extends Frame{
public static void main(String args[]) {
Frame fr=new MyFrame();
}
}
这里讲述第一个方法:
fr.setTitle("This is new Frame");
//顾名思义。设置标题。
既然有了一个标题,那下一步需要有什么呢?
对了,是大小。
第二个方法:
fr.setSize(400,300);
// 400代表宽度,300代表高度。单位是像素。
为了让图形界面炫一点(呸,好丑!),可以加入背景颜色:
fr.setBackGround(Color.GREEN);
当你敲进去Color.的时候,会出现两个代表绿色的方法:GREEN和green…即:
fr.setBackGround(Color.green);
fr.setBackGround(Color.GREEN);
你或许会很好奇,这两个一大一小写有区别吗?答案是…完全没区别…
那又为什么要同样的方法写两个呢?
我们都知道常量要大写,当然这也是广大程序员一致决定的,但是在java以前的版本,大家还没商讨出大小写这个规定,所以用的是小写的,后来的版本里才推出大写的常量,为了向下兼容,推出大写的常量,保留小写的常量。
(要是删除了小写的常量,广大程序员要改好多好多文档,要砍人的!)当然现在大家都应该用大写的!
继续回到正题,下一个方法:
fr.setLocation(300, 500);
设置位置,以屏幕左上角为0,0坐标,便宜x轴300px,y轴500px。不设置的话默认是0,0 要是每次都要用户从0.0开始拖动,那也是很蛋疼的(我记得十岁左右的一些应用就是这样的,打开来位置到处飞…)。
所以呢,用下面这个方法比较好:
fr.setLocationRelativeTo(null);
这个方法是设置位置相对于XX,XX是参数。null代表没有,就是屏幕了。相对于屏幕,默认是中间。
有些挑刺的同学会问啊,我要是用了这两个方法设置位置,那么哪个才有效呢?
答案是代码的第二个。会覆盖第一个位置的存放。
下面这个方法是禁止用户拖动大小的。
fr.setResizable(false);
最后一个,也是最关键的:
fr.setVisible(true);
是否可见,要是不可见的话Eclipse运行后你什么也看不见,但是的确存在于内存里。怎么办?关不了?
别担心,Eclipse里的控制台有一个正方形的小方块,点击就停止程序了,当然高版本的会自动关闭~
以上都设置完,可以看到程序了!
怎么样,绿的够呛。辣眼睛你会发现关不掉…
没事Eclipse里面关闭吧,现在我们来写关闭的代码
监听:
fr.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
这几行代码添加进去,程序的右上角关闭按钮就能点了。这样一个程序就完成了。
那么,我们来总结一下制作AWT图形界面这一章的步骤:
1.继承框架
2.设置
最终代码:
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class MyFrame extends Frame{
public static void main(String args[]) {
Frame fr=new MyFrame();
fr.setTitle("This is new Frame");
fr.setBackground(Color.GREEN);
fr.setSize(400,300);
fr.setLocationRelativeTo(null);
fr.setResizable(false);
fr.setVisible(true);
fr.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}