| 
				 //设置两个标签的水平、垂直对齐方式 
  jls.setVerticalAlignment(JLabel.CENTER); 
  jls.setHorizontalAlignment(JLabel.CENTER); 
  jlt.setVerticalAlignment(JLabel.CENTER); 
  jlt.setHorizontalAlignment(JLabel.CENTER);   
  jlt.setIcon(ii); //设置目标标签中的初始图象 
  //设置分隔条的宽度以及初始位置 
  jsp.setDividerLocation(300);    jsp.setDividerSize(4); 
  //将分割窗格添加到窗体中 
  this.add(jsp,BorderLayout.CENTER); 
  //将按扭添加进JPanel容器中,并为按扭注册监听器 
  for(int i=0;i<jb.length;i++){ 
      jp.add(jb[i]);jb[i].addActionListener(this);} 
  //将菜单添加进菜单栏,并将菜单栏添加进窗体 
  this.add(jp,BorderLayout.SOUTH); 
} 
完成了上述4个方法的编写后,读者此时可以编译并运行上述代码,会出现文件选择器让用户选择图片,当选择成功之后会弹出如图2所示的界面。不过此时程序还不具备任何功能,所以点击任何按钮都不会有反应,下文将继续介绍如何编写实现程序各项业务功能的代码。 
6  功能实现 
该程序的业务功能非常简单,即只需要实现各个按钮对应的图像处理代码即可,所以这些功能代码应当编写在按钮的事件处理方法中,即actionPerformed方法中,其代码如下: 
for(int i=0;i<jb.length;i++) 
{//对事件源进行判断,决定使用哪一种卷积矩阵进行处理 
  if(e.getSource()==jb[i]){ 
      //获取待处理图像的宽度与高度 
      int width=ii.getImage().getWidth(null); 
      int height=ii.getImage().getHeight(null);  
      //创建两个BufferedImage对象分别用来 			
				 |