JavaAWT教程1F

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.设置

  • 标题
  • 背景颜色
  • 窗体位置
  • 是否可修改大小
  • 是否可见
    3.创建事件监听

在这里插入图片描述

最终代码:

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);
			}
			
		});
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43299461/article/details/83041686