Swing编程的一般步骤:
Ø 继承Jframe窗体
Ø 定义组件
Ø 创建组件(这个过程在构造函数里面进行)
Ø 设置容器的布局管理器
Ø 往相应的容器里面添加组件
Ø 设置窗体如:frame.setSize(100,100);(100是像素点数,这样可以调节在不同分辨率的屏幕上窗体有合适的大小)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(200,200);//设置窗体的初始位置,否则从(0,0)开始
Ø 显示窗体this.setVisible(true);
像素是组成图像的最基本的单位,分辨率是指在长和宽两个方向上各拥有的像素个数,一个像素有多大主要取决于显示器的分辨率。单位面积上像素点越多,图像就越清晰越细腻,即两个不同大小的屏幕有相同的分辨率,则屏幕小的图像清晰度更高。
事件源(EventSource):事件发生的场所
事件(Event):组件上发生的事情
事件监听器(EventListener):负责监听事件源发生的事件
实现事件处理机制的步骤如下:
事件监听器必须实现事件监听器接口(可以实现多个事件监听器接口)
(1) 创建事件监听器类,实现事件监听器接口(只要实现了监听器接口的类都可以成为监听器)
(2) 添加事件监听器对象(调用addXXXListener()将事件监听器对象注册给普通组件)
(3) 定义事件处理器,actionPerformed(ActionEvent e)方法
事件会分为两大类:
1. 低级事件
ComponentEvent :组件事件
ContainerEvent:容器事件
WindownEvent:窗口事件
FocusEvent:焦点事件
KeyEvent:键盘事件
MouseEvent:鼠标事件
PaintEvent:组件绘制事件
2. 高级事件
ActionEvent:动作事件,按钮、菜单项被单击
AdjustmentEvent:调节事件
ItemEvent:选项事件
TextEvent:文本事件
Java绘图(一般都绘制在JPanel对象上),某一个类继承了JPanel对象之后,都要覆写该类的paint()方法,然后利用Graphics的对象g绘图
class MyPanelextends JPanel implements KeyListener{
int x=90;
int y=90;
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.yellow);
DrawTanktank= newDrawTank(x,y,g);
}
}
paint()方法在一下情况下会被调用:
Ø 窗口最大化或者最小化的时候
Ø 窗口的大小发生变化
Ø repaint()方法被调用
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列、eclipse、MyEclipse等。
Swing常用组件
分割面板JSplitPane
JSplitPane用于创建一个分割面板,将一个组件(通常是一个容器)分割成两部分,并提供一个分隔条,用户可以拖动一个分隔条来调整两个部分的大小
分割面板实质是一个特殊容器,该容器只能容纳两个组件,且分割可以使上下分割,或者左右分割。
创建分割面板代码如下:
new JSplitPane(方向,左/上(组件),右/下);
打开一触即展特性:jsp.setOneTouchExpandable(true);
打开连续布局特性:jsp.setContinuousLayout(true);
多行文本框JTextArea jta = new JTextArea();
文本框new JTextField();()里面需要写长度
下拉框 JComboBox
String[] dd = {"xiaoli","xiaonan"};
JComboBox jcb= newJComboBox(dd);
滚动窗格 JScrollPane jsp = new JScrollPane(jta); 滚动窗格也是一个特殊的容器,new的时候需要放里面的组件
多选框 JCheckBox
单选框 JRadioButton,必须先创建一个ButtonGroup对象,然后把所有的单选框对象添加进去,才可以实现单选的功能
public voidsetIconImage(Image image)用来设置窗体的图标
选项卡 JTabbedPane
JTabbedPane对象的addTab()、 insertTab() 、setComponentAt()、removeTabAt()来增加、修改和删除标签页
菜单组件
JMenuBar菜单条
JMenu二级菜单
JMenuItem 菜单树叶
工具条组件JToolBar
Swing为Icon接口提供了一个实现类:ImageIcon
构造方法:ImageIcon(Image image)