⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.java

📁 java程序中关于多媒体编程 既有文件说明 更有例子 希望大家可以一起学习交流
💻 JAVA
字号:
package disposeimage;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import com.borland.jbcl.layout.*;import javax.swing.event.*;/** * <p>Title: DisposeImage</p> * <p>Description: 应用Java 2D API实现图像的各种处理</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: 北京师范大学计算机系</p> * @author 郑庆丰 * @version 1.0 */public class MainFrm extends JFrame {  //实例化  DrawPicturePanel dpp=new DrawPicturePanel();  JPanel contentPane;  Border border1;  //private BorderLayout borderLayout1 = new BorderLayout();  XYLayout xYLayout1 = new XYLayout();  JPanel jPanel1 = new JPanel();  Border border2;  Border border3;  Border border4;  JButton turn_btn = new JButton();  JButton jButton4 = new JButton();  JButton jButton5 = new JButton();  JButton jButton8 = new JButton();  JPanel jPanel2 = new JPanel();  Border border5;  JButton jButton1 = new JButton();  JPanel jPanel3 = new JPanel();  Border border6;  JSlider jSlider1 = new JSlider();  JSlider jSlider2 = new JSlider();  JPanel jPanel4 = new JPanel();  Border border7;  TitledBorder titledBorder1;  JLabel jLabel1 = new JLabel();  XYLayout xYLayout2 = new XYLayout();  JLabel jLabel2 = new JLabel();  Border border8;  JPanel jPanel5 = new JPanel();  JButton jButton2 = new JButton();  XYLayout xYLayout3 = new XYLayout();  JButton jButton3 = new JButton();  JButton jButton6 = new JButton();  JButton jButton7 = new JButton();  public MainFrm(DrawPicturePanel dpp) {    enableEvents(AWTEvent.WINDOW_EVENT_MASK);    try {      jbInit();      dpp.repaint();    }    catch(Exception e) {      e.printStackTrace();    }  }  private void jbInit() throws Exception  {    contentPane = (JPanel) this.getContentPane();    border1 = new EtchedBorder(EtchedBorder.RAISED,Color.lightGray,new Color(148, 145, 140));    border2 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    border3 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    border4 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    border5 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    border6 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"拉伸");    border7 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    titledBorder1 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140)),"明暗度");    border8 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));    contentPane.setLayout(xYLayout1);    this.setDefaultCloseOperation(EXIT_ON_CLOSE);    this.setSize(new Dimension(512, 480));    this.setTitle("图像处理器");    jPanel1.setBorder(border2);    turn_btn.setText("翻转");    turn_btn.addActionListener(new MainFrm_turn_btn_actionAdapter(this));    jButton4.setText("锐化");    jButton4.addActionListener(new MainFrm_jButton4_actionAdapter(this));    jButton5.setText("模糊");    jButton5.addActionListener(new MainFrm_jButton5_actionAdapter(this));    jButton8.setText("退出");    jButton8.addActionListener(new MainFrm_jButton8_actionAdapter(this));    jPanel2.setBorder(border4);    jPanel2.setBorder(border5);    jButton1.setActionCommand("");    jButton1.setText("还原");    jButton1.addActionListener(new MainFrm_jButton1_actionAdapter(this));    jPanel3.setBorder(border6);    jPanel3.setLayout(xYLayout2);    jPanel4.setBorder(titledBorder1);    jPanel4.setLayout(xYLayout3);    jLabel1.setText("x轴");    jLabel2.setRequestFocusEnabled(true);    jLabel2.setText("y轴");    jPanel5.setBorder(border2);    jSlider1.setInverted(true);    jSlider1.setPaintLabels(false);    jSlider1.setPaintTicks(true);    jSlider1.setPaintTrack(true);    jSlider1.setEnabled(true);    jSlider1.setDoubleBuffered(false);    jSlider1.setRequestFocusEnabled(true);    jSlider1.setVerifyInputWhenFocusTarget(true);    jSlider1.addChangeListener(new MainFrm_jSlider1_changeAdapter(this));    jSlider2.setPaintTicks(true);    jSlider2.addChangeListener(new MainFrm_jSlider2_changeAdapter(this));    jButton2.setText("明");    jButton2.addActionListener(new MainFrm_jButton2_actionAdapter(this));    jButton3.setText("中");    jButton3.addActionListener(new MainFrm_jButton3_actionAdapter(this));    jButton6.setText("暗");    jButton6.addActionListener(new MainFrm_jButton6_actionAdapter(this));   //显示dpp,用borderLayout的方式    jButton7.setText("变灰");    jButton7.addActionListener(new MainFrm_jButton7_actionAdapter(this));    contentPane.add(this.dpp,new XYConstraints(0, 0, 300, 300));    jPanel3.add(jSlider1,   new XYConstraints(36, 0, 182, -1));    jPanel3.add(jLabel1, new XYConstraints(12, 2, -1, -1));    jPanel3.add(jSlider2, new XYConstraints(36, 30, 182, -1));    jPanel3.add(jLabel2, new XYConstraints(12, 32, -1, -1));    contentPane.add(jButton7,    new XYConstraints(406, 190, 82, -1));    contentPane.add(jButton4, new XYConstraints(406, 118, 82, -1));    contentPane.add(jButton5, new XYConstraints(406, 153, 82, -1));    contentPane.add(turn_btn, new XYConstraints(406, 85, 82, -1));    contentPane.add(jButton8,  new XYConstraints(406, 276, 82, -1));    contentPane.add(jButton1,   new XYConstraints(406, 245, 82, -1));    contentPane.add(jPanel2,                                                        new XYConstraints(377, 3, 4, 300));    contentPane.add(jPanel1,      new XYConstraints(3, 317, 500, 4));    contentPane.add(jPanel4,               new XYConstraints(264, 321, 236, 89));    jPanel4.add(jButton2,   new XYConstraints(20, 12, 72, -1));    jPanel4.add(jButton3, new XYConstraints(92, 12, -1, -1));    jPanel4.add(jButton6,     new XYConstraints(137, 12, 72, -1));    contentPane.add(jPanel5,                          new XYConstraints(387, 227, 140, 2));    contentPane.add(jPanel3,        new XYConstraints(8, 321, 237, 88));  }  public void jMenuFileExit_actionPerformed(ActionEvent e) {    System.exit(0);  }  protected void processWindowEvent(WindowEvent e) {    super.processWindowEvent(e);    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      jMenuFileExit_actionPerformed(null);    }  }  void turn_btn_actionPerformed(ActionEvent e) {      //调用翻转的方法      dpp.turnBufferedImage();      //重画屏幕,先调用update(),在调用paint()      dpp.repaint();  }  void jButton3_actionPerformed(ActionEvent e) {   dpp.resume();  }  void jButton4_actionPerformed(ActionEvent e) {   dpp.sharpImage();   dpp.repaint();  }  void jButton1_actionPerformed(ActionEvent e) {   dpp.resume();  }  void jButton5_actionPerformed(ActionEvent e) {  dpp.blurImage();  dpp.repaint();  }  void jButton8_actionPerformed(ActionEvent e) {      System.exit(0);  }  void jButton2_actionPerformed(ActionEvent e) {    dpp.brightenLUT();    dpp.repaint();  }  void jButton6_actionPerformed(ActionEvent e) {   dpp.darkenLUT();   dpp.repaint();  }  void jSlider1_stateChanged(ChangeEvent e) {    double scalex = ((double)((JSlider)e.getSource()).getValue())/100;    if(scalex==0){       scalex=0.01;    }    dpp.setscaleX(scalex);    dpp.transform();    dpp.repaint();  }  void jSlider2_stateChanged(ChangeEvent e) {    double scaley = ((double)((JSlider)e.getSource()).getValue())/100;    if(scaley==0){      scaley=0.01;    }    dpp.setscaleY(scaley);    dpp.transform();    dpp.repaint();  }  void jButton7_actionPerformed(ActionEvent e) {   dpp.grayImage();   dpp.repaint();  }}class MainFrm_turn_btn_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_turn_btn_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.turn_btn_actionPerformed(e);  }}class MainFrm_jButton4_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton4_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton4_actionPerformed(e);  }}class MainFrm_jButton1_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton1_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton1_actionPerformed(e);  }}class MainFrm_jButton5_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton5_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton5_actionPerformed(e);  }}class MainFrm_jButton8_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton8_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton8_actionPerformed(e);  }}class MainFrm_jButton2_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton2_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton2_actionPerformed(e);  }}class MainFrm_jButton6_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton6_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton6_actionPerformed(e);  }}class MainFrm_jButton3_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton3_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton3_actionPerformed(e);  }}class MainFrm_jSlider1_changeAdapter implements javax.swing.event.ChangeListener {  MainFrm adaptee;  MainFrm_jSlider1_changeAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void stateChanged(ChangeEvent e) {    adaptee.jSlider1_stateChanged(e);  }}class MainFrm_jSlider2_changeAdapter implements javax.swing.event.ChangeListener {  MainFrm adaptee;  MainFrm_jSlider2_changeAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void stateChanged(ChangeEvent e) {    adaptee.jSlider2_stateChanged(e);  }}class MainFrm_jButton7_actionAdapter implements java.awt.event.ActionListener {  MainFrm adaptee;  MainFrm_jButton7_actionAdapter(MainFrm adaptee) {    this.adaptee = adaptee;  }  public void actionPerformed(ActionEvent e) {    adaptee.jButton7_actionPerformed(e);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -