黑马程序员——学习日记7

GUI——Frame类

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

 Frame类

  构造方法:

  Frame();

  Frame(String title);

  

  创建窗体的基本流程:

  1、创建窗体对象并设置好窗体名称 Frame类的构造方法

  2、设置好窗体的位置和大小      setBounds(intx,int y,int width,int height);

  3、创建组件对象            具体组件看具体的构造方法

  4、设置布局                setLayout(LayoutManagermgr);//传入的是布局类

  5、将组件对象添加到窗体对象中   add(componentcomp);

  6、设置窗体可见            setVisible(booleanb);//true为可见

  

  注意:

  1、就这样创建出来的窗体是不能通过点击右上角的红×来关闭的,

  只能通过手动的点击红色小方块结束程序来关闭。

  而且里面的按钮点击也并没有任何效果

  2、setBounds方法里前面两个是设置窗体位置的,

  后面两个是设置窗体大小的,别弄错了。

  3、如果窗体没有设置布局,那么默认为边界布局,

  又没有设置东南西北的话,所添加的组件居中全覆盖窗体的面板。


示例:
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;


public class FrameDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建空白窗体。
//		demo1();
		/*
		 * 创建有按钮组件的窗体。
		 * 由于没有设置布局,默认就是边界布局,
		 * 又没有指定东西南北,所以按钮居中全覆盖了面板。
		 */
//		demo2();
		//创建有按钮组件也有文本框组件的窗体。同时设置了流式布局。
		demo3();
	}
	
	public static void demo1() {
		//创建窗体对象,并设置窗体名称
		Frame f=new Frame("MyFrame1");
		//设置窗体所在的位置,前面的数字是距左边距离,后面的数字是距上面的距离。数字随心设。
		f.setLocation(400, 200);
		//设置窗体的大小,前面是宽,后面的是高。数字随心设。
		f.setSize(500, 400);
		//一次把窗体位置大小全部设置好
//		f.setBounds(400, 200, 500, 400);
		//设置窗体为可见
		f.setVisible(true);
		
		/*
		 * over输出了,可是程序还没停止,说明这里开启了一个新的线程。
		 * 主线程结束了,另一个线程还没结束。
		 * 而这个新的线程就是运行这个窗体的线程。
		 */
		System.out.println("over");
	}

	public static void demo2() {
		// TODO Auto-generated method stub
		//创建窗体对象,并设置窗体名称
		Frame f=new Frame("MyFrame2");
		//设置窗体的位置和大小
		f.setBounds(400,200,500,400);
		
		//创建按钮对象,并设置好按钮上要显示的字
		Button b=new Button("一个按钮");
		
		//将按钮对象添加到窗体对象中
		f.add(b);
		
		//设置窗体可见
		f.setVisible(true);
	}
	
	public static void demo3() {
		// TODO Auto-generated method stub
		//创建窗体对象,并设置窗体名称
		Frame f=new Frame("MyFrame3");
		//设置窗体位置和大小
		f.setBounds(400,200,500,400);
		
		//创建按钮对象,并设置好按钮上要显示的字
		Button b=new Button("一个按钮");
		//创建文本框对象,并指定好列数
		TextField tf=new TextField(15);
		
		//设置布局为流式布局
		f.setLayout(new FlowLayout());
		
		//将文本框对象和按钮对象添加到窗体对象中,排放位置也和你添加顺序有关
		f.add(tf);
		f.add(b);
		
		//设置窗体可见
		f.setVisible(true);
	}
}

注释:单个方法依次运行结果如下图

demo1方法



demo2方法


demo3方法


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值