📄 mainframe.java
字号:
laplacianItem.setMnemonic('L'); laplacianItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { laplacian(e); } }); sharpItem = new JMenuItem("Sharpen(S)"); sharpItem.setMnemonic('S'); sharpItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { sharp(e); } }); blurItem = new JMenuItem("Blur(B)"); blurItem.setMnemonic('B'); blurItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { blur(e); } }); filtItem = new JMenuItem("Smooth Filter(F)"); filtItem.setMnemonic('F'); filtItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { filt(e); } }); convolveMenu.add(laplacianItem); convolveMenu.add(sharpItem); convolveMenu.add(blurItem); convolveMenu.add(filtItem); /* //----Frequent菜单---------------------------------------------------------- frequentMenu = new JMenu("频率变换(V)"); frequentMenu.setMnemonic('V'); mb.add(frequentMenu); fftItem = new JMenuItem("傅立叶频谱(F)"); fftItem.setMnemonic('F'); fftItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fft(e); } }); decomposeItem = new JMenuItem("小波分解(W)"); decomposeItem.setMnemonic('W'); decomposeItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { decompose(e); } }); markItem = new JMenuItem("小波水印(M)"); markItem.setMnemonic('M'); markItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mark(e); } }); frequentMenu.add(fftItem); frequentMenu.add(decomposeItem); frequentMenu.add(markItem); //---------------------------------------------------------------------- *///******************tools bar************************************// tb = new JToolBar(); contentPane.add(tb, BorderLayout.NORTH); newBtn = new JButton(newIcon); newBtn.setToolTipText("New"); tb.add(newBtn); openBtn = new JButton(openIcon); openBtn.setToolTipText("Open"); tb.add(openBtn); openBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { openFile(e); } }); saveBtn = new JButton(saveIcon); saveBtn.setToolTipText("Save"); tb.add(saveBtn); saveBtn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { saveFile(e); } }); } //*********************System exit******************************// private void exit(WindowEvent e) { System.exit(0); } void openFile(ActionEvent e) { chooser.setDialogType(JFileChooser.OPEN_DIALOG); if(chooser.showDialog(this, null) == JFileChooser.APPROVE_OPTION) { try { image = ImageIO.read(chooser.getSelectedFile()); } catch(Exception ex) { return ;} imagePanel.setImage(image); imagePanel.repaint(); undoList.clear(); redoList.clear(); } } void saveFile(ActionEvent e) { } void saveUndoInfo(BufferedImage image) { if(undoList.size() == MAX_UNDO_COUNT) { undoList.removeLast(); } undoList.addFirst(image); } void saveRedoInfo(BufferedImage image) { if(redoList.size() == MAX_REDO_COUNT) { redoList.removeLast(); } redoList.addFirst(image); } void undo(ActionEvent e) { if(undoList.size() > 0) { saveRedoInfo(image); image = (BufferedImage)undoList.get(0); imagePanel.setImage(image); imagePanel.repaint(); undoList.remove(0); } } void redo(ActionEvent e) { if(redoList.size() > 0) { saveUndoInfo(image); image = (BufferedImage)redoList.get(0); imagePanel.setImage(image); imagePanel.repaint(); redoList.remove(0); } } void horMirror(ActionEvent e) { saveUndoInfo(image); image = GeoTransform.horMirror(image); imagePanel.setImage(image); imagePanel.repaint(); } void verMirror(ActionEvent e) { saveUndoInfo(image); image = GeoTransform.verMirror(image); imagePanel.setImage(image); imagePanel.repaint(); } void scale(ActionEvent e) { ScaleDlg scaleDlg = new ScaleDlg(this, true); scaleDlg.setLocationRelativeTo(this); scaleDlg.setImageWidth(image.getWidth()); scaleDlg.setImageHeight(image.getHeight()); if(scaleDlg.showModal() == JOptionPane.OK_OPTION) { saveUndoInfo(image); image = GeoTransform.scale(image, scaleDlg.getScale(), scaleDlg.getScale()); imagePanel.setImage(image); imagePanel.repaint(); } } void rotate(ActionEvent e) { RotateDlg rotateDlg = new RotateDlg(this, true); rotateDlg.setLocationRelativeTo(this); if(rotateDlg.showModal() == JOptionPane.OK_OPTION) { saveUndoInfo(image); image = GeoTransform.rotate(image, rotateDlg.getAngle(), rotateDlg.getIsResize()); imagePanel.setImage(image); imagePanel.repaint(); } } void grayScale(ActionEvent e) { saveUndoInfo(image); image = ColorConvert.grayScale(image); imagePanel.setImage(image); imagePanel.repaint(); } void changeYHS(ActionEvent e) { ModifyColorDlg modifyDlg = new ModifyColorDlg(this, true); modifyDlg.setLocationRelativeTo(this); if(modifyDlg.showModal() == JOptionPane.OK_OPTION) { saveUndoInfo(image); image = ColorConvert.changeYHS(image, modifyDlg.getDeltY(), modifyDlg.getDeltH(), modifyDlg.getNS()); imagePanel.setImage(image); imagePanel.repaint(); } } void histgram(ActionEvent e) { HistgramDlg histgramDlg = new HistgramDlg(this, true); histgramDlg.setImage(image); histgramDlg.setLocationRelativeTo(this); histgramDlg.show(); } void contrast(ActionEvent e) { saveUndoInfo(image); image = ColorConvert.changeContrast(image, 10); imagePanel.setImage(image); imagePanel.repaint(); } void histPlane(ActionEvent e) { saveUndoInfo(image); image = ColorConvert.histPlane(image); imagePanel.setImage(image); imagePanel.repaint(); } void laplacian(ActionEvent e) { saveUndoInfo(image); image = Convolve.laplacian(image); imagePanel.setImage(image); imagePanel.repaint(); } void sharp(ActionEvent e) { saveUndoInfo(image); image = Convolve.sharp(image); imagePanel.setImage(image); imagePanel.repaint(); } void blur(ActionEvent e) { saveUndoInfo(image); image = Convolve.blur(image); imagePanel.setImage(image); imagePanel.repaint(); } void filt(ActionEvent e) { saveUndoInfo(image); image = Convolve.MedianFilt(image); imagePanel.setImage(image); imagePanel.repaint(); } void fft(ActionEvent e) { FFTFilterDlg fftDlg = new FFTFilterDlg(this, true); fftDlg.setImage(image); fftDlg.setLocationRelativeTo(this); if(fftDlg.showModal() == JOptionPane.OK_OPTION) { saveUndoInfo(image); image = fftDlg.getDestImage(); imagePanel.setImage(image); imagePanel.repaint(); } } void decompose(ActionEvent e) { saveUndoInfo(image); image = WaveletTransform.decompose(image); imagePanel.setImage(image); imagePanel.repaint(); } void mark(ActionEvent e) { saveUndoInfo(image); image = WaveletTransform.waterMark(image); imagePanel.setImage(image); imagePanel.repaint(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -