j2se 知识总结

来源:互联网 发布:xp编程器官网 编辑:程序博客网 时间:2024/05/21 08:39

1。数组
对于数组的封装类Arrays类,中的binarySearch(T[] test,a)方法,对于数组test应当先调用sort()方法,才能调用


2。集合

对于增强型for循环,
for(T xx : 变量(数组,List,Set)) {
}

对于集合中掌握的基本类和接口:

Collection
 -Set
  -TreeSet
  -HashSet
   -LinkedHashSet
 -List
  -ArrayList
  -LinkedList
Map
 -TreeMap
 -HashMap
  -LinkedHashMap
Iterator

Arrays 

Collections

Property

其中ListList和ArrayList替代了Vector
HashMap替代了HashTable
LinkedList替代了Stack

Comparable 接口比较接口
当重写equals方法的时候一定要重写hashcode方法


io

InputStream 和 OutputStream都是字节流
Reader和Writer是字符流

写数据的时候记得一定要加上flush()方法

输入流:

输入流     描述
ByteArrayInputStream   把字节数组转换为输入流
FileInputStream    从文件中读取数据
StringBufferInputStream   把字符串转换成输入流,已过时,取代:StringBufferReader
PipedInputStream   连接一个PipedOutStream  用于线程
SequenceInputStream   把几个输入流转换成一个输入流
ObjectInputStream   对象输入流(对象序列化,反序列化)
FilterInputStream   装饰器,具有扩展其他输入流的功能

输出流:

输出流     描述
ByteArrayOutputStream   向字节数组(即内存的缓冲区)中写数据
FileOutputStream   向文件中写数据
PipedOutputStream   向管道中输出数据,与PipedInputStream搭配使用
ObjectOutputStream   对象输出流,对象的序列化和反序列化
FilterOutputStream   装饰器,扩展其他输出流的动能

File类
掌握File类的api方法的操作

GUI
1. 布局管理器
 如果不希望通过布局管理器来管理布局,可以调用容器的setLayout(null)方法,这样布局管理器就被取
 消了。
 接下来必须调用容器中的每个组件的setLocation(),setSize()或者setBouds()方法为这些组件在容器中  一一定位。
布局管理器种类:
 FlowLayout 流布局
 BorderLayout 东南西北中布局
 GridLayout 网格布局
 CardLayout 卡片布局
 GridBagLayout 网格包布局管理器
 GridBagLayout在网格的基础上提供更为复杂的布局。和GridLayout不同,GridBagLayout允许容器中各个组件的大小各不相同,还允许单个组件所在的显示区域占据多个网格。使用GridBagLayout的布局管理器的步骤如下。
 1。创建GridBagLayout布局管理器,并使容器采用该布局管理器
  GridBagLayout layout = new GridBagLay();
  container.setLayout(layout);
 2。创建GridBagConstraints对象。
  GridBagConstraints constraints = new GridBagConstraints();
 3。为第一个添加到容器中的组件设置GridBagConstraints的各个属性。
  constraints.gridx=1; //设置网格的左上角的x坐标
  constraints.gridy=1; //设置网格的左上角的y坐标
  constraints.gridwidth=1; //设置网格的宽度
  constraints.gridheight=1; //设置网格的高度
 4。通知布局管理器放置第一个组件时的GridBagConstraints信息
  layout.setConstraints(component1,constraints);
 5。向容器中添加第一个组件。
  container.add(component1);
 6。重复步骤(3)~(5),将每个组件都添加到容器中

事件处理器
MouseMotionListener 和 MouseListener都监听MouseEvent事件。
MouseMotionListener主要处理和鼠标移动的事件,它包括以下方法。
 * mouseMoved():用户未按下鼠标键,直接移动鼠标调用的方法。
 * mouseDragged():用户按下鼠标键,然后拖动鼠标时调用此方法。
MouseListener主要处理和鼠标被点击有关的事件,它包括以下方法。
 * mouseClicked():当用户单击鼠标时调用此方法
 * mousePressed():当用户按下鼠标时调用此方法
 * mouseReleased(): 当用户释放鼠标时调用此方法
 * mouseExited():鼠标退出组件的显示区域时调用此方法
 * mouseEntered():鼠标进入组件的显示区域时调用此方法。

Awt绘图:
 在Component类中提供了3个和绘图有关的方法。
 *paint(Graphics g):绘制组件的外观
 *update(Graphics g): 调用paint()方法,刷新组件的外观。
 *repaint():调用update方法刷新组件的外观
 以上3个方法的调用关系:repaint()调用update(),update()调用paint()   这个是对于java.awt.Frame类而言,但是对于javax.swing.JFrame类而言,则是,repaint直接调用paint()
Point类
Graphics类
 Component类的paint(Graphics g)方法有一个Graphics类型的参数。Graphics类代笔画笔,提供了回执各种图形的方法,常见的方法有:
 * drawLine(int x1,int y1,int x2, int y2) 画一条直线
 * drawString(String string, int left, int bottom) 画一个字符串,从(left,bottom)坐标开始
 * drawImage(Image image,int left, int top, ImageObserver observer) 画一个图片
 * drawRect(int left, int top, int width,int height) 画矩形
 * drawOval(int x, int y, int width, int height) 画椭圆
可以为Graphics对象设置绘图颜色和字体属性,方法为:
 setColor(Color color) 设置画笔的颜色
 setFont(Font font) 设置画笔的字体
如果不希望在每次调用paint()方法前先清空界面,可以在类中如下方式覆盖update()方法
public void update(Graphics g) {
 paint(g);
}

//对于JFrame而言是repaint直接调用paint方法,而对于Frame而言是repaint调用update方法,update方法调用paint方法
实现擦除的效果思路:每次画之前先将整个画面以背景色为颜色重画一次
Color c = g.getColor();
g.setColor(BACKGROUND_COLOR);
g.fillRect(0, 0, WIDTH, HEIGHT); //这个则是起到擦除的效果
g.setColor(c);
g.setColor(color);
g.fillRect(x, y, width, height);

Swing组件
按钮:javax.swing.JButton  setMnemonic(int i) //设置快捷键
边框:javax.swing.border.Border

菜单
菜单的组织方式为:一个菜单条JMenuBar中可以包含多个菜单JMenu,一个菜单JMenu中可以包含多个菜单选项JMenuItem。有一些支持菜单的组件,如JFrame,JDialog和Japplet,都有一个setMenuBar(JMenuBar bar)方法,可以用这个方法来设置菜单条
JMenuItem有两个子类,即JRadioButtonMenuItem和JCheckBoxMenuItem,他们分别表示单选菜单项和复选菜单项,当用户选择了某个菜单项,就会触发一个ActionEvent事件,该事件由ActionListener负责处理

JPopueMenu:
 右键的时候出现的选项卡:要实现MouseAdapter类的mousePressed和mouseReleased方法
JDialog:对话框
 JDialog表示对话框。对话框时在现有窗口的基础上弹出的另一个窗口。对话框可用来处理个别细节问题,使得这些细节不与原先窗口的内容混为一起。JDialog的默认布局管理器为BorderLayout,它有以下形式的构造方法。
 public JDialog(Frame ower,String title,boolean modal)
以上参数ower表示对话框所属的Frame,参数title表示对话框的标题,参数modal有以下两个可选值。
 * 参数modal为true:表示模式对话框,这是JDialog的默认值。如果对话框显示,那么其他窗口都处理不活动状态,只有当用户关闭了对话框,才能操纵其他窗口。
 * 参数modal为false:表示非模式对话框。当对话框被显示,其他窗口照样处于活动状态。
当对话框被关闭时,通常不希望结束整个应用程序,因此需要调用JDialog的dispose()方法释放对话框所占用的资源。

JFileChoose:文件对话框   文件打开,文件另存为

JOptionPane:消息框
 * showMessageDialog():显示包含信息提示的对话框
 * showOptionDialog():显示让用户选择一个可选项的对话框
 * showInputDialog(): 显示接收用户输入文本的对话框
 * showConfirmDialog():显示让用户选择Yes/No的对话框

Swing绘图
 
   Swing组件的绘图机制与AWT组件比较相似。区别在与前者的JComponent类覆盖了ComPonent类的paint方法。JComponent类的paint()方法把绘图任务委派给3个protected类型的方法来完成。
  * paintComponent(): 画当前组件
  * paintBorder():画组件的边界
  * paintChildren():
对于用户自定义的Swing组件,如果需要绘制图形,则只需要覆盖paintComponent()方法即可,为了保证图形正常
显示,必须在这个方法中先调用super.paintComponent()方法

JApplet对于这个只要覆盖init方法就可以了
BoxLayout布局管理器