Swing 程序的建立步骤
- 建立容器(容器就是可以容纳其他图形对象的类,容器还可以添加容器)
- 建立组件(组件就是一套图形对象)
- 讲组件添加到容器(讲创建好的对象添加到容器中,才能在窗体上正式显示)
- 设置布局(设置组件的显示布局。)
常用Swing容器
JFrame 带有标题和边框关闭的窗口
JPanel 中间容器,用于将较小的轻量级组件组合在一起,与内容窗格相似,默认情况向不透明
是一个矩形区域,其中可以包含图形组件也可以包含其他JPanel(布局使用)
//JApplet 在浏览器中运行的容器
JScrollPane 管理视区、滚动条及可以选的行和列的标题视区
//JDiolog
常用组件
JTextField 单行文本
JButton 按钮
JTextArea 多行文本
JLabel 标签
JCheckBox 复选框
JRadioButton 单选框
JComboBox 下拉列表
布局管理器
- BorderLayout边界布局
BorderLayout.NORTH
BorderLayout.SOUTH
BorderLayout.WEST
BorderLayout.EAST
BorderLayout.CENTER
对应上下左右中 五个地方
2.FlowLayout流式布局
组件依次排序 与容器保持垂直或水平间距(从中间向两边扩散)
3.GridLayout 网格布局
每个组件大小相同,调整窗口大小 其组件会跟随变化
4.CardLayout卡牌布局
Swing 与AWT相比
轻量级组件、外观可改变不在依赖系统、MVC结构、性能更加稳定
Swing 应用程序 至少有一个顶层容器 GUI可视组件都应该在该容器的显示区域
顶层容器
创建一个类让其继承JFrame 并在构造方法中设置窗口为可视(该代码段必须放在所有方法的最下面)设置容器大小。一个简单的窗口就出来了。
Swing 接触两天了,感觉着玩意比C#繁琐的不是一星半点(就说做界面这块来说),刚刚接触,就是纯手写,后来弄了个插件,感觉还是不够灵活(或许是我不会用),总感觉GUI就不应该用Swing
Java采用的是委托事件模型,及事件源发出的事件请求,被委托给了事件监听器,由它负责执行相应的响应方法。
所以java事件中有两个对象
一个是事件源对象,一个是事件监听对象(该事件到底由谁来负责监听并响应)
事件处理步骤
- 建立事件源对象就是各种组件
- 为事件源选择合适的监听器
- 为监听器添加适当的处理程序(方法)
- 建立监听器与事件源之间的联系
(窗体自身实现事件监听?)
常见的时间监听接口
ActionListener //行为监听
AdjustmentListener //调整监听AdjustmentEvent操作滚动条时会触发此事件
ItemListener //选项监听 ItemEvent单击复选框或列表或一个选择框或者一个可选菜单项被选择或者取消的时候触发此事件
TextListener //文本监听
ComponentListener //组件监听 ComponentEvent当移动、隐藏、调整大小或成为可见一个组件时触发此事件
KeyListener //键盘监听
MouseListener //鼠标监听
FocusListener //光标聚焦监听FocusEvent组件获得或是去焦点时触发此事件
WindowListener //窗口监听WindowEvent 当一个窗口激活、关闭、失效、恢复、最小化、打开、退出时会触发此事件
ContainerListener //容器监听