//设置两个标签的水平、垂直对齐方式
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对象分别用来
|