【Java】day--Frame、Dialog、非容器类组件、布局管理器、事件部分知识点总结

这篇博客总结了Java图形界面编程中的关键知识点,包括Frame的基本概念,Dialog的创建与使用,FileDialog的操作,非容器类组件如菜单组件的构成,以及布局管理器如BorderLayout、FlowLayout和GridLayout的特性。此外,还介绍了事件处理,特别是动作监听器、鼠标监听器和键盘监听器的应用。
摘要由CSDN通过智能技术生成

(一)Frame

软件的交互方式:
    1.dos命令的交互方式。
    2.图形化界面的交互方式。
在Java图形化界面编程中把所有的图形类都称为组件类。
所有图形组件都位于:java.awt 和javax.swing包
     在awt包中存在的图形类,在swing中一样会存在,区别在于swing的图形都是以J开头。

java.awt包的图形类与javax.swing包的图形类的区别:
    1.java.awt包中的所有图形类的图形都是依赖系统的图形库。java.swing包中的所有图形类的图形都是sun自己实现的。
所有图形类都称为组件:
    容器组件:
    非容器组件:

public static void main(String[] args) {
		    //创建一个窗体软件,初始是不可见的
		JFrame frame=new JFrame("这是我第一个窗体软件");
		//设置窗体大小,以像素为单位
		//frame.setSize(300,400);
		//设置窗体左上角出现的位置
		//frame.setBounds(533, 134, 300, 400);//出现在屏幕中间,根据分辨率得出
		//将设置位置等操作写成一个工具类
		FrameUtil.initFrame(frame, 500, 400);
		//设置窗体的可见性
		frame.setVisible(true);
		//设置窗体的关闭事件
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出并关闭(否则只关闭窗体,不退出程序)
	}
//自己实现的图形化界面的工具类
public class FrameUtil {
	//设置窗体出现在中间位置
	public static void initFrame(JFrame frame,int width,int height) {
		//获取默认的系统工具包
		Toolkit toolkit=Toolkit.getDefaultToolkit();
		//获取屏幕分辨率
		Dimension d=toolkit.getScreenSize();
		int x=(int)d.getWidth();//返回double类型
		int y=(int)d.getHeight();
		frame.setBounds((x-width)/2, (y-height)/2, width, height);
		//设置窗体的可见性
		frame.setVisible(true);
		//设置窗体的关闭事件
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

(二)Dialog

Dialog(对话框):
    Dialog(Dialog owner,String title,boolean modal)
    owner 所有者
    title 对话框标题
    modal 模式 true:对话框没有关闭时不准操作所有者。 false:对话框即使没有关闭也可以操作所有者。
JOptionPane(对话框):
    //消息、警告、错误
    showMessageDialog(Component parentComponent,Object message,String title,int messageType)
        patentComponent  所有者
        message              消息
        title               对话框的标题
        messageType         指定对话框的类型(消息、警告、错误)

public static void main(String[] args) {
		//创建一个窗体
		JFrame frame=new JFrame("窗体");
		/*
		JDialog dialog=new JDialog(frame,"对话框",true);
		FrameUtil.initFrame(frame, 500, 400);//433 143
		dialog.setBounds(580, 250, 250, 250);
		dialog.setVisible(true);
		*/
		FrameUtil.initFrame(frame, 500, 400);
		//消息对话框
		//JOptionPane.showMessageDialog(frame, "明天第26天","通知",JOptionPane.INFORMATION_MESSAGE)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值