📄 zyy.java
字号:
package image;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.io.File;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JLabel;
//import com.Sbh_Ssj;
//import com.sun.media.sound.Toolkit;
public class zyy extends JFrame implements ActionListener {
private JPanel jContentPane = null;
private JButton jButton1 = null;
private JMenuBar jJMenuBar = null;
private JMenu file = null;
private JMenuItem 打开 = null;
private JMenuItem 关闭 = null;
private JMenuItem 保存 = null;
private JMenu imageProcess = null;
private JMenu help = null;
private JMenuItem readme = null;
private JFileChooser jfcooser=new JFileChooser("c:/");
private Toolkit toolkit;
private Image image;
String processType="";
String fileName;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JLabel jLabel2 = null;
private JLabel jLabel3 = null;
private JMenuItem 灰度化 = null;
private JMenuItem laplace2阶滤波 = null;
private JMenuItem laplace2阶增强滤波 = null;
private JMenuItem 局部阈值处理 = null;
private JMenuItem 全局阈值处理 = null;
private JMenuItem 垂直边缘检测 = null;
private JMenuItem 图像平滑 = null;
double delt=0;
double coefficients=0;
double gate=0;
double sobelCoefficients=0;
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new java.awt.Rectangle(329,257,60,26));
jButton1.setText("退出");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
dispose();
System.out.println("22222222222222actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return jButton1;
}
/**
* This method initializes jJMenuBar
*
* @return javax.swing.JMenuBar
*/
private JMenuBar getJJMenuBar() {
if (jJMenuBar == null) {
jJMenuBar = new JMenuBar();
jJMenuBar.add(getFile());
jJMenuBar.add(getImageProcess());
jJMenuBar.add(getHelp());
}
return jJMenuBar;
}
/**
* This method initializes jMenu
*
* @return javax.swing.JMenu
*/
private JMenu getFile() {
if (file == null) {
file = new JMenu();
file.setText("文件");
file.add(get打开());
file.add(get关闭());
file.add(get保存());
}
return file;
}
/**
* This method initializes 打开
*
* @return javax.swing.JMenuItem
*/
private JMenuItem get打开() {
if (打开 == null) {
打开 = new JMenuItem();
打开.setText("打开");
打开.addActionListener(this);
}
return 打开;
}
/*
BufferedImage bufferedimage = ImageIO.read(file);
//把wideth和height替换成想要的尺寸就可以了
wideth = bufferedimage.getWidth(null);
height = bufferedimage.getHeight(null);
BufferedImage bufferedimage1 = new BufferedImage(wideth, height, 1);
bufferedimage1.getGraphics().drawImage(bufferedimage, 0, 0, wideth, height, null);
*/
public void actionPerformed(java.awt.event.ActionEvent e) {
if(e.getActionCommand().compareTo("打开")==0)
{
int result=jfcooser.showOpenDialog(this);
if(result==JFileChooser.APPROVE_OPTION)
{
File file=jfcooser.getSelectedFile();
System.out.print("dsfssdf"+jfcooser.getSelectedFile());
//jTextArea.append("you have open the file:"+file.getName()+"!");
fileName=file.getPath();
Toolkit toolkit=Toolkit.getDefaultToolkit();
//System.out.println("------------- fileNameselected:"+fileName+"selected filePath:"+file.getPath());
ImageIcon a = new ImageIcon(file.getPath());
jLabel.setIcon(a);
}
else
{
//jTextArea.append("you have not open anyfile!");
}
System.out.println("文件打开:"+jfcooser.getSelectedFile());
//jTextArea.setText("打开");
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
}
/**
* This method initializes 关闭
*
* @return javax.swing.JMenuItem
*/
private JMenuItem get关闭() {
if (关闭 == null) {
关闭 = new JMenuItem();
关闭.setText("关闭");
关闭.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//jTextArea.setText("关闭");
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
dispose();
}
});
}
return 关闭;
}
/**
* This method initializes 保存
*
* @return javax.swing.JMenuItem
*/
private JMenuItem get保存() {
if (保存 == null) {
保存 = new JMenuItem();
保存.setText("保存");
保存.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//jTextArea.setText("保存");
boolean isImageSaved=false;
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
String saveFileName = JOptionPane.showInputDialog("请输入要保存的地址和文件名,例如d:\\zyy.jpg");
if(saveFileName==null)
{
JOptionPane.showMessageDialog(zyy.this,"您没有输入图象名字!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
}
else
{
if(processType.trim().compareTo("灰度化")==0)
{
GrayImage zyy=new GrayImage(fileName);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("laplace2阶滤波")==0)
{
Laplace2 zyy=new Laplace2(fileName);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("laplace2阶增强滤波")==0)
{
Laplace2Delt zyy=new Laplace2Delt(fileName,delt);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("局部阈值处理")==0)
{
Jbfzcl zyy=new Jbfzcl(fileName,3,2,coefficients, gate);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("全局阈值处理")==0)
{
Qjfzcl zyy=new Qjfzcl(fileName,coefficients, gate);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("垂直边缘检测")==0)
{
Czbyjc zyy=new Czbyjc(fileName,(int)sobelCoefficients);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("图像平滑")==0)
{
Filter zyy=new Filter(fileName);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
else if(processType.trim().compareTo("直方图均衡化")==0)
{
Zftjhh zyy=new Zftjhh(fileName);
zyy.imageProcess();
zyy.saveImage(saveFileName);
isImageSaved=true;
}
}
if(isImageSaved)
{
JOptionPane.showMessageDialog(zyy.this,"图象保存成功,保存的位置和名字为:"+saveFileName, "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(zyy.this,"图象保存失败,请检查输入的名字是否正确!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
}
}
});
}
return 保存;
}
/**
* This method initializes jMenu1
*
* @return javax.swing.JMenu
*/
private JMenu getImageProcess() {
if (imageProcess == null) {
imageProcess = new JMenu();
imageProcess.setText("图象处理");
imageProcess.add(get灰度化());
imageProcess.add(getLaplace2阶滤波());
imageProcess.add(getLaplace2阶增强滤波());
imageProcess.add(get局部阈值处理());
imageProcess.add(get全局阈值处理());
imageProcess.add(get垂直边缘检测());
imageProcess.add(get图像平滑());
}
return imageProcess;
}
/**
* This method initializes help
*
* @return javax.swing.JMenu
*/
private JMenu getHelp() {
if (help == null) {
help = new JMenu();
help.setText("帮助");
help.add(getReadme());
}
return help;
}
/**
* This method initializes readme
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getReadme() {
if (readme == null) {
readme = new JMenuItem();
readme.setText("关于");
readme.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
JTextPaneTest test = new JTextPaneTest();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return readme;
}
/**
* @param args
*/
public void showImage()
{
//toolkit=this.getToolkit();
//img=toolkit.getClass();
}
/**
* This method initializes 灰度化
*
* @return javax.swing.JMenuItem
*/
private JMenuItem get灰度化() {
if (灰度化 == null) {
灰度化 = new JMenuItem();
灰度化.setText("灰度化");
灰度化.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("------------------灰度化actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
if(fileName==null||fileName.trim().compareTo("")==0)
{
System.out.println("------------- please select a picture!");
JOptionPane.showMessageDialog(zyy.this,"请先打开要处理的图象!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
//JOptionPane.showMessageDialog(Sbh_Ssj.this, "请保存" + extraname1+ "数据!","Message Dialog",JOptionPane.ERROR_MESSAGE);
}
else
{
processType="灰度化";
GrayImage zyy=new GrayImage(fileName);
//imageProcessed=zyy.imageProcess();
ImageIcon a = new ImageIcon(zyy.imageProcess());
jLabel1.setIcon(a);
}
}
});
}
return 灰度化;
}
/**
* This method initializes laplace2阶滤波
*
* @return javax.swing.JMenuItem
*/
private JMenuItem getLaplace2阶滤波() {
if (laplace2阶滤波 == null) {
laplace2阶滤波 = new JMenuItem();
laplace2阶滤波.setText("laplace2阶滤波");
laplace2阶滤波.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("------------------laplace2阶滤波actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
if(fileName==null||fileName.trim().compareTo("")==0)
{
System.out.println("------------- please select a picture!");
JOptionPane.showMessageDialog(zyy.this,"请先打开要处理的图象!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
}
else
{
processType="laplace2阶滤波";
Laplace2 zyy=new Laplace2(fileName);
//imageProcessed=zyy.imageProcess();
ImageIcon a = new ImageIcon(zyy.imageProcess());
jLabel1.setIcon(a);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -