java返回组件所在窗体_Java基础知识笔记第九章:组件及事件处理
java Swing
图形用户界面(GUI : Graphics User Interface)
窗口
JFrame常用方法
JFrame()创建一个无标题的窗口。
JFrame(String s)创建标题为s的窗口。
public voidsetBounds(int a,int b,int width,int height)设置窗口的初始位置是(a,b),即距屏幕左面a个像素,距屏幕上方b个像素,窗口的宽是width,高是height。
public void setSize(int width,int height)设置窗口的大小。
public void setLocation(int x,int y)设置窗口的位置,默认位置是(0,0)。
public void setVisible(boolean b)设置窗口是否可见,窗口默认是不可见的。
public voidsetResizable(boolean b)设置窗口是否可调整大小,默认可调整大小。
public voiddispose()撤销当前窗口,并释放当前窗口所使用的资源。
publicvoid setExtendedState(int state)设置窗口的扩展状态,其中参数state取JFrame类中的下列类常量
MAXIMIZED_HORIZ (水平方向最大化) MAXIMIZED_VERT (垂直方向最大化) MAXIMIZED_BOTH (水平、垂直方向都最大化)。
publicvoid setDefaultCloseOperation(int operation)该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理,
其中的参数operation取JFrame类中的下列int型static常量,程序根据参数operation取值做出不同的处理:
DO_NOTHING_ON_CLOSE(什么也不做),HIDE_ON_CLOSE (隐藏当前窗口),DISPOSE_ON_CLOSE (隐藏当前窗口,并释放窗体占有的其他资源),EXIT_ON_CLOSE (结束窗口所在的应用程序)。
菜单条,菜单,菜单项
/**菜单条*/setJMenuBar(JMenubar bar);
菜单:
JComponent类的子类JMenu负责创建菜单,即JMenu的一个实例就是一个菜单
菜单项:
JComponent类的子类JMenuItem负责创建菜单项,即JMenuItem的一个实例就是一个菜单项
嵌入子菜单:
JMenu是JMenuItem的子类,因此菜单本身也是一个菜单项,把一个菜单看做菜单项添加到某个菜单中时,称为菜单的子菜单
菜单上的图标:
Icon icon=new ImageIcon(“a.gif”);
常用组件及部件
常用组件
JTextField:文本框
JTextArea:文本区
JButton:按钮
JLable:标签
JCheckBox:复选框
JRadioButton:单选框
JComboBox:下拉列表
JPasswordFiled:密码框
常用容器
/*JCpompoent是Container的子类,因此JComponent子类创建的组件也都是容器;中间容器必须添加到底层容器才能发挥作用*/
1.JPanel面板2.JtabbedPane选项卡窗口
add(String text,Component c);//方法将组件c添加到JtabbedPane容器中
public JTabbedPane(inttabPlacement);3.滚动窗口:
JScrollPane scroll=new JScrollPane(newJTextArea())4. 拆分窗格JSplitPane
JSplitPane(inta,Component b,Component c)
JSplitPane(int a,booleanb,Component c,Component d)5.JLayeredPane分层窗格
add(Jcomponent com,int layer);
常用布局
setLayout(布局对象);
FlowLayout布局:
FlowLayout();
botton.setPreferredSize(new Dimension(20,20))
BorderLayout布局
东西南北中布局
con.add(b,BorderLayout.CENTER);
CardLayout布局:
CardLayout card=new CardLayout();
GridLayout布局
null布局
p.setLayout(null);
BoxLayout布局:
处理事件
事件处理模式
事件源:
能够产生事件的对象都可以称为事件源,文本框,按钮,下拉框。也就是说,事件源必须是一个对象。而且这个对象必须是java认为可以发生事件的对象
监听器:
需要一个对象对事件源进行监视,以便发生的事件做出处理,事件源通过调用相应的方法,将某个对象注册为自己的监听器,例如文本框,这个方法
addActionListener(监听器);
处理事件的接口:
监视器负责处理事件源发生的事件。监视器是一个对象。为了处理事件源的发生的事件,监视器这个对象会自动调用一个方法来处理,(对象只有调用方法才能产生行为)
ActionEvent事件
ActionEvent事件源:
文本框,按钮,菜单栏,密码框,和单选框按钮都可以触发ActionEvent事件,即都可以成为ActionEvent事件的事件源。
ItemEvent事件
焦点事件
键盘事件
窗口事件
匿名类实例或窗口做监听器
使用mvc
对话框
消息对话框
输入对话框
确认对话框
颜色对话框
自定义对话框
树组件与表格组件
树组件
表格组件
按钮绑定到键盘
打印组件
发布GUI程序
java返回组件所在窗体_Java基础知识笔记第九章:组件及事件处理相关推荐
- java 哈希表和向量_Java基础知识笔记(一:修饰词、向量、哈希表)
一.Java语言的特点(养成经常查看Java (1)简单性:Java语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言.它去掉了C和C++最难正确应用的指针和最难理解的多重继承技术 ...
- java保护型数据成员_Java基础知识笔记第四章:类和对象
编程语言的几个发展阶段 面向机器语言 面向过程语言 面向对象语言:封装.继承.多态 类 类声明 classPerson{ ....... }class植物{ ....... } 类体 类使用类体来描述 ...
- Java基础知识笔记-11_2-Swing用户界面组件
Java基础知识笔记-11_2-Swing用户界面组件 这章教程两个版本,一个语法是非lambda表达式版本,另一个是lambda表达式版本 非lambda表达式版本 1 Java Swing概述 J ...
- java继承原理内存角度_Java基础知识巩固
最近发现自己的Java基础知识还是有点薄弱,刚好有点空闲时间进行再补一补,然后进行整理一下,方便自己以后复习.其实个人认为Java基础还是很重要的,不管从事Java后端开发还是Android开发,Ja ...
- java知识点博客园_JAVA基础知识回顾
JAVA基础知识回顾 一.背景介绍 JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platfo ...
- java不死神兔总数_Java基础知识强化之IO流笔记13:递归之不死神兔问题(斐波那契数列)...
1.这个问题是如下的: 有一对兔子,从出生后第3个月起,每个月都生一对兔子,小兔子长到第3个月又生一对兔子,加入兔子都不死,问第20个月兔子的对数? 分析:我们找规律 兔子对数 第1个月: 1 第 ...
- java返回特定下标元素_java基础--输出数组中指定元素的下标
java基础--输出数组中指定元素的下标 java基础--输出数组中指定元素的下标 package com.lcn.day05; public class ArrayDemo8 { /** * 输出数 ...
- java表达式语句_Java基础知识笔记第三章:运算符表达式语句
算术运算符与表达式 操作符描述例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B ...
- java中多线程重要吗_Java基础知识_多线程必要知识点
一.使用多线程遇到的问题 1.1 线程安全问题 在前面的文章中,多线程主要是为了提高我们应用程序的使用率.但同时,这会给我们带来很多安全问题. 如果我们在单线程中以顺序(串行->独占)的方式执 ...
最新文章
- 转载:使用 OpenCV 识别 QRCode
- C语言 读取txt文档按行读取到新的txt文档
- 关于webservice的经典理解
- JS阻止冒泡和取消默认事件(默认行为)
- 拒绝无脑试错:写给萌新的“科学炼丹”入门手册
- C ~ 指针函数与函数指针的区别
- CPU,内存, 硬盘,指令之间的关系
- 做网站用UTF-8编码还是GB2312编码?
- 20165301陈潭飞2017-2018-2 20165301 实验三《Java面向对象程序设计》实验报告
- 微软开放技术热烈祝贺开源社成立!
- console口和telnet登录交换机
- Bootstrap Switch 开关控件
- CDA数据分析师认证证书含金量不断提高,成数据分析入门新刚需!
- springboot+elasticsearch+bboss框架集成遇到的坑
- flash mx拖拽实例_在Flash MX中制作射击游戏
- STM32F105双CAN双FIFO通讯心得体会
- Swift UIView代码控制隐藏与显示
- pdf合到一起java_如何将两个PDF文件合并成一个Java?
- 一张图学Python
- Oracle Linux6.9下安装Oracle 11.2.0.4.0及psu补丁升级
热门文章
- FFmpeg入门详解之70:获取音视频流信息(Metadata)
- Android 性能优化lt;九 RecyclerView替代Listview用法
- 1 自动化开源运维平台选择和功能思考 2 运维价值思考- 扁鹊三兄弟-昨天今天明天-个人家庭组织所有管理通用
- Revit中曲面墙的开洞方法及【一键开洞】操作
- 【Excel】单元格内容显示完整
- 小米众筹新品---8H凉感慢回弹记忆绵枕 99元 上手开箱图
- 幼儿园认识颜色计算机游戏,【幼儿园认识颜色教案】小班公开课认识颜色_幼儿园关于颜色的教案_亲亲宝贝网...
- EasyDL之图片分类API接口实现-基于python语言
- [经验教程]腾讯视频VIP会员可同时登录几台设备及腾讯视频会员帐号怎么管理设备?
- PDF编辑之添加页码以及去掉水印