?? mainframe.java.bak
字號:
/**
* MainFrame.java
*
* 該文件用來建立應用程序主界面,并響應按鈕按下后產生的事件
*
* Copyright 2004 by 海南大學信息學院
* @author 溫小斌
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MainFrame extends JFrame implements ActionListener
{
JPanel panelTop = new JPanel(); //用來設置參數(shù)
JPanel panelDown = new JPanel();
MyPanel panelCenter = new MyPanel(); //用來顯示原始的圖片
MyPanel panelBottom = new MyPanel(); //用來顯示處理過后的圖片
JLabel labelA = new JLabel();
JLabel labelQ = new JLabel();
JLabel labelC = new JLabel();
JLabel labelR = new JLabel();
JTextField txtA = new JTextField(); //輸入A值
JTextField txtQ = new JTextField(); //輸入Q值
JTextField txtC = new JTextField(); //輸入C值
JTextField txtR = new JTextField(); //輸入R值
JButton buttonOK = new JButton();
public MainFrame() //構造函數(shù),初始化窗口
{
setTitle("維納濾波顯示位圖");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
this.getContentPane().setLayout(new BorderLayout());
labelA.setMinimumSize(new Dimension(30, 20));
labelA.setPreferredSize(new Dimension(30, 20));
labelA.setText("A:");
labelQ.setMinimumSize(new Dimension(30, 20));
labelQ.setPreferredSize(new Dimension(30, 20));
labelQ.setText("Q:");
labelC.setMinimumSize(new Dimension(30, 20));
labelC.setPreferredSize(new Dimension(30, 20));
labelC.setText("C:");
labelR.setMinimumSize(new Dimension(30, 20));
labelR.setPreferredSize(new Dimension(30, 20));
labelR.setText("R:");
txtA.setMinimumSize(new Dimension(40, 20));
txtA.setPreferredSize(new Dimension(40, 20));
txtQ.setMinimumSize(new Dimension(40, 20));
txtQ.setPreferredSize(new Dimension(40, 20));
txtC.setMinimumSize(new Dimension(40, 20));
txtC.setPreferredSize(new Dimension(40, 20));
txtR.setMinimumSize(new Dimension(40, 20));
txtR.setPreferredSize(new Dimension(40, 20));
buttonOK.setText("OK");
buttonOK.addActionListener(this); //為按鈕添加事件監(jiān)聽
panelTop.add(labelA);
panelTop.add(txtA);
panelTop.add(labelQ);
panelTop.add(txtQ);
panelTop.add(labelC);
panelTop.add(txtC);
panelTop.add(labelR);
panelTop.add(txtR);
panelTop.add(buttonOK);
this.getContentPane().add(panelTop, BorderLayout.NORTH);
//剛開始顯示兩相同的圖片,filter參數(shù)設置為false,表示不進行濾波
panelCenter.loadImage("PH02466U.bmp", false, 0, 0, 0, 0);
panelBottom.loadImage("PH02466U.bmp", false, 0, 0, 0, 0);
panelDown.setLayout(new GridLayout(0,1));
panelDown.add(panelCenter);
panelDown.add(panelBottom);
this.getContentPane().add(panelDown, BorderLayout.CENTER);
setVisible(true);
}
//響應按鈕事件
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("OK"))
{
float a = Float.parseFloat(txtA.getText());
float q = Float.parseFloat(txtQ.getText());
float c = Float.parseFloat(txtC.getText());
float r = Float.parseFloat(txtR.getText());
//對圖片進行濾波,并將濾波后的圖片顯示在下方
panelBottom.loadImage("PH02466U.bmp.bmp", true, a, q, c, r);
txtA.setText("");
txtQ.setText("");
txtC.setText("");
txtR.setText("");
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -