亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hideinfopanel.java

?? 使用java編寫的LSB圖像信息隱藏算法演示程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package hideInfo;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.*;


//窗口中的主Panel ,處理所有消息、安放所有按鈕等控件
public class HideInfoPanel extends JPanel implements ActionListener
{
	
	private boolean isHideMode;  //兩種模式:隱藏模式和提取模式, true代表隱藏模式
	private MediaTracker mt;   //用于監(jiān)控多媒體對象的類
	private JFileChooser jfc;	//文件選擇器
	private Image im;			//圖像對象
	private JButton bFile1;	//按鈕:選擇源圖像 左上第一個按鈕
	private JButton bFile2;	//按鈕:選擇源文本文件  左上第二
	private JButton bFile3;	//按鈕:選擇目的圖像:	左上第三
	private JButton bMode;		//模式切換按鈕:左下按鈕
	private JButton bOp;		//啟動操作(在隱藏模式下啟動隱藏操作,提取模式下提取操作)
	
	private File originBMP;	//源圖像文件對象
	private File targetBMP;	//目的圖像文件對象
	private File originTxt;	//源文本文件對象
	private File targetTxt;	//目的文本文件對象
	private BMP originImage;	//第三方類:我借用進(jìn)來的 用于直接把BMP文件轉(zhuǎn)換為Image對象,因為JAVA不直接支持載入BMP文件。隱藏和提取時不用它,因為直接把BMP文件當(dāng)作文件來處理,不需要轉(zhuǎn)換為Image對象
	
	JLabel tag1,tag2,tag3;   //三個顯示“路徑”字樣的標(biāo)簽
	JLabel status;			//最下方提示欄
	JTextField pathFile1,pathFile2,pathFile3;  //顯示上面三個文件的路徑 在Panel的右上方
	//JLabel tag5,tag4;
	
	ShowPanel show1,show2;  //顯示兩個BMP圖像 (Panel的右下)
	
	public HideInfoPanel()
	{
		//初始化
		this.isHideMode=true;  //默認(rèn)隱藏模式
		this.setLayout(null);	//使用坐標(biāo)方式指定各個按鈕的位置
		this.mt=new MediaTracker(this);  
		jfc=new JFileChooser();  //文件選擇器
		this.im=Toolkit.getDefaultToolkit().getImage("resource/background.jpg");//載入背景	
		mt.addImage(this.im,1);
		try
 		{
 			mt.waitForID(1);//跟蹤多媒體文件
 		}
 		catch (InterruptedException e)
 		{
 		}
 		this.setVisible(true);
		
		this.bFile1=new JButton("選擇原圖像文件");  //顯示的字樣 (按鈕)
		this.bFile1.setBounds(70,75,120,35); //位置和大小
		this.bFile1.setFont(new Font("宋體",Font.PLAIN,12));//字體
		this.bFile1.setOpaque(false); //透明
		this.bFile1.setForeground(new Color(117,60,27));   //字體顏色
		//this.bFile1.setBorder(null);
		this.bFile1.addActionListener(this); //如果這個按鈕被按動,事件將被發(fā)送到本累下面的處理函數(shù)中
		this.add(bFile1);
		
		this.bFile2=new JButton("選擇待隱藏文本");//同上
		this.bFile2.setBounds(70,120,120,35);
		this.bFile2.setFont(new Font("宋體",Font.PLAIN,12));
		this.bFile2.setOpaque(false);
		this.bFile2.setForeground(new Color(117,60,27));
		//this.bFile2.setBorder(null);
		this.bFile2.addActionListener(this);
		this.add(bFile2);
		
		this.bFile3=new JButton("選擇目標(biāo)圖像");
		this.bFile3.setBounds(70,165,120,35);
		this.bFile3.setFont(new Font("宋體",Font.PLAIN,12));
		this.bFile3.setOpaque(false);
		this.bFile3.setForeground(new Color(117,60,27));
		//this.bFile3.setBorder(null);
		this.bFile3.addActionListener(this);	
		this.add(bFile3);
		
		this.bOp=new JButton("開始隱藏操作");
		this.bOp.setBounds(70,220,120,100);
		this.bOp.setFont(new Font("宋體",Font.BOLD,12));
		this.bOp.setOpaque(false);
		this.bOp.setForeground(new Color(117,60,27));
		this.bOp.addActionListener(this);
		this.add(bOp);
		
		this.bMode=new JButton("切換模式");
		this.bMode.setBounds(70,340,120,80);
		this.bMode.setFont(new Font("宋體",Font.BOLD,12));
		this.bMode.setOpaque(false);
		this.bMode.setForeground(new Color(117,60,27));
		//this.bMode.setBorder(null);
		this.bMode.addActionListener(this);
		this.add(bMode);
		
		this.tag1=new JLabel("路徑:");
		this.tag1.setBounds(200,75,40,35);
		this.tag1.setFont(new Font("宋體",Font.PLAIN,14));
	//	this.tag1.setHorizontalAlignment(SwingConstants.RIGHT);
		this.tag1.setForeground(new Color(117,60,27));
		this.add(this.tag1);
		
		this.tag2=new JLabel("路徑:");
		this.tag2.setBounds(200,120,40,35);
		this.tag2.setFont(new Font("宋體",Font.PLAIN,14));
	//	this.tag2.setHorizontalAlignment(SwingConstants.RIGHT);
		this.tag2.setForeground(new Color(117,60,27));
		this.add(this.tag2);
		
		this.tag3=new JLabel("路徑:");
		this.tag3.setBounds(200,165,40,35);
		this.tag3.setFont(new Font("宋體",Font.PLAIN,14));
	//	this.tag3.setHorizontalAlignment(SwingConstants.RIGHT);
		this.tag3.setForeground(new Color(117,60,27));
		this.add(this.tag3);
		
//		this.tag4=new JLabel("隱藏操作前:");
//		this.tag4.setBounds(270,210,200,25);
//		this.tag4.setHorizontalAlignment(SwingConstants.LEFT);
//		this.tag4.setFont(new Font("宋體",Font.PLAIN,12));
//		this.tag4.setForeground(new Color(117,60,27));
//		this.add(this.tag4);
//		
//		this.tag5=new JLabel("隱藏操作后:");
//		this.tag5.setBounds(500,210,200,25);
//		this.tag5.setFont(new Font("宋體",Font.PLAIN,12));
//		this.tag5.setForeground(new Color(117,60,27));
//		this.tag5.setHorizontalAlignment(SwingConstants.LEFT);
//		this.add(this.tag5);
		
		this.status=new JLabel("當(dāng)前模式:信息隱藏模式");
		this.status.setBounds(70,450,680,30);
		this.status.setHorizontalAlignment(SwingConstants.LEFT);  //左對齊
		this.status.setFont(new Font("宋體",Font.ITALIC,16));
		this.status.setForeground(Color.YELLOW);
		this.status.setOpaque(false);
		this.add(this.status);
		
		this.pathFile1=new JTextField(100);
		this.pathFile1.setBounds(240,75,490,35);
		this.pathFile1.setFont(new Font("宋體",Font.PLAIN,12));
		this.pathFile1.setEditable(false);
		this.pathFile1.setOpaque(false);
		this.pathFile1.setBorder(null);
		this.add(this.pathFile1);
		
		this.pathFile2=new JTextField(100);
		this.pathFile2.setBounds(240,120,490,35);
		this.pathFile2.setFont(new Font("宋體",Font.PLAIN,12));
		this.pathFile2.setEditable(false);
		this.pathFile2.setOpaque(false);
		this.pathFile2.setBorder(null);
		this.add(this.pathFile2);
		
		this.pathFile3=new JTextField(100);
		this.pathFile3.setBounds(240,165,490,35);
		this.pathFile3.setFont(new Font("宋體",Font.PLAIN,12));
		this.pathFile3.setEditable(false);
		this.pathFile3.setOpaque(false);
		this.pathFile3.setBorder(null);
		this.add(this.pathFile3);
		
		this.show1=new ShowPanel();
		this.show1.setBorder(new TitledBorder(new LineBorder(new Color(69,167,116)),"隱藏前的圖像",TitledBorder.DEFAULT_JUSTIFICATION,TitledBorder.DEFAULT_POSITION,new Font("宋體",Font.PLAIN,12),new Color(117,60,27)));
		this.show1.setBounds(220,200,230,230);
//		this.show1.setBackground(Color.WHITE);
		this.show1.setOpaque(false);
		this.add(this.show1);
	//	show1.setImage(Toolkit.getDefaultToolkit().getImage("resource/dd.JPG"));
		show1.repaint();
		
		this.show2=new ShowPanel();
		this.show2.setBorder(new TitledBorder(new LineBorder(new Color(69,167,116)),"隱藏后的圖像",TitledBorder.DEFAULT_JUSTIFICATION,TitledBorder.DEFAULT_POSITION,new Font("宋體",Font.PLAIN,12),new Color(117,60,27)));  //帶有標(biāo)題的邊框
		this.show2.setBounds(480,200,230,230);
//		this.show2.setBackground(Color.WHITE);
		this.show2.setOpaque(false);
		this.add(this.show2);
	//	show2.setImage(Toolkit.getDefaultToolkit().getImage("resource/dd.JPG"));
		show2.repaint();
		
		this.repaint();
	}

	public void actionPerformed(ActionEvent e) {//這個函數(shù)負(fù)責(zé)處理所有按鈕被按動所產(chǎn)生的事件
		
		if(((JButton)e.getSource()).equals(this.bFile1))  //按動的按鈕是選擇源圖像文件按鈕 
		{		
			int retVal=jfc.showOpenDialog(this);  //打開文件選擇器
			if (retVal==JFileChooser.APPROVE_OPTION)
			{
				this.originBMP=jfc.getSelectedFile();//選定文件
			//	System.out.println("File name is : " +this.originBMP.getAbsolutePath());
				this.pathFile1.setText(this.originBMP.getAbsolutePath());//顯示它的路徑
				if(this.originBMP.getName().endsWith(".BMP")||this.originBMP.getName().endsWith(".bmp"))
				{//如果是.bmp文件 則顯示它
					this.originImage=new BMP(this.originBMP);
					this.show1.setImage(this.originImage.getImage());
					this.show1.repaint();
					this.status.setText("源圖像文件大小:"+this.originBMP.length()+" Byte");
				}
				else
				{
					//否則在狀態(tài)欄顯示錯誤信息
					this.status.setText("提示:源圖像文件不是BMP格式,請重新指定");
					this.show1.setImage(null);
					this.originBMP=null;
					this.show1.repaint();
				}
				this.repaint();
			}
			else this.originBMP=null;
		}
		
		if(((JButton)e.getSource()).equals(this.bFile2))  //按下的是第二個按鈕 選擇文本
		{		
			int retVal=jfc.showOpenDialog(this);
			if(this.isHideMode)//判斷是不是隱藏模式  兩個模式下文本文件的作用不痛
			{
				if (retVal==JFileChooser.APPROVE_OPTION)
				{
					this.originTxt=jfc.getSelectedFile();
					this.pathFile2.setText(this.originTxt.getAbsolutePath());
					this.status.setText("待隱藏文件大小:"+this.originTxt.length()+" Byte");
				}
				else this.originTxt=null;
			}
			else
			{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品午夜在线观看| 欧美午夜精品免费| 久久精品人人做| 国产老肥熟一区二区三区| 久久综合久久99| 成人网在线播放| 亚洲欧美一区二区不卡| 欧美色中文字幕| 日产欧产美韩系列久久99| 久久综合给合久久狠狠狠97色69| 国产福利一区二区三区视频在线| 欧美国产一区二区| 在线亚洲免费视频| 日本中文一区二区三区| 久久久久综合网| 91在线视频官网| 亚洲成av人片在www色猫咪| 精品国产乱码久久久久久闺蜜| 国产成人日日夜夜| 一区二区激情视频| 精品精品国产高清a毛片牛牛| 国产jizzjizz一区二区| 亚洲一区二区免费视频| xfplay精品久久| 日本福利一区二区| 韩国毛片一区二区三区| 老司机免费视频一区二区| 国产欧美1区2区3区| 欧美综合天天夜夜久久| 国产呦精品一区二区三区网站| 亚洲色图欧美激情| 日韩欧美激情一区| 色婷婷综合视频在线观看| 欧美日韩国产123区| 欧美成人精品高清在线播放| 99精品久久久久久| 另类综合日韩欧美亚洲| 一区二区三区国产精华| 精品人伦一区二区色婷婷| 色综合久久久久综合99| 精品一区二区免费看| 亚洲一区二三区| 亚洲国产成人一区二区三区| 日韩一区二区精品| 色屁屁一区二区| 国产精品69毛片高清亚洲| 亚洲电影第三页| 综合激情成人伊人| 久久久久久久综合日本| 欧美日韩国产另类不卡| 91免费国产视频网站| 国产一区二区精品久久| 日本aⅴ精品一区二区三区| 亚洲老司机在线| 国产精品午夜春色av| 欧美sm美女调教| 欧美福利电影网| 欧美色精品在线视频| 99久久99久久综合| 国产成人在线色| 精品一区二区在线看| 日韩精品乱码免费| 亚洲第一成年网| 亚洲黄网站在线观看| 中文字幕一区二区三区不卡在线| 久久久久国产精品免费免费搜索| 日韩欧美一区二区久久婷婷| 欧美精品777| 在线成人av网站| 91精品久久久久久久99蜜桃| 欧美日韩一区国产| 欧美唯美清纯偷拍| 欧美色图激情小说| 欧美精品一级二级| 欧美日本一区二区三区四区| 欧美日韩国产成人在线免费| 欧美亚洲国产怡红院影院| 91一区二区在线观看| 99久久精品国产观看| 91在线porny国产在线看| 99re这里只有精品首页| 一本一道久久a久久精品综合蜜臀| 国产成人免费网站| 波多野结衣精品在线| av男人天堂一区| 色综合久久综合网欧美综合网| 色综合天天综合网国产成人综合天| 午夜a成v人精品| 日本午夜精品视频在线观看 | 久久青草国产手机看片福利盒子 | 成人激情免费视频| 成人美女视频在线看| kk眼镜猥琐国模调教系列一区二区| 成人av网站在线| 91美女视频网站| 欧美日韩中字一区| 日韩精品中文字幕一区| 国产拍欧美日韩视频二区| 中文字幕高清一区| 一区二区三国产精华液| 美女一区二区在线观看| 国产精品自拍毛片| 色狠狠一区二区三区香蕉| 欧美色大人视频| 日韩欧美不卡在线观看视频| 国产欧美一区二区三区鸳鸯浴| 国产精品大尺度| 亚洲国产精品一区二区久久| 麻豆精品一区二区av白丝在线| 成人一级片网址| 欧美午夜精品久久久久久孕妇| 精品国产一二三| 亚洲视频狠狠干| 美女一区二区三区在线观看| 成人黄色一级视频| 欧美二区三区的天堂| 国产午夜精品一区二区| 亚洲一区二区在线免费看| 极品少妇一区二区三区精品视频| kk眼镜猥琐国模调教系列一区二区 | 欧美午夜电影网| 国产亚洲欧美日韩俺去了| 亚洲黄一区二区三区| 精品亚洲porn| 日本久久一区二区| 久久久九九九九| 五月婷婷色综合| www.欧美亚洲| 精品99999| 五月天亚洲精品| www.av亚洲| 精品免费一区二区三区| 亚洲电影激情视频网站| 成年人网站91| 久久久久久久久伊人| 亚洲国产综合人成综合网站| 国产91高潮流白浆在线麻豆| 欧美一二三区精品| 一区二区三区精品久久久| 成人免费黄色在线| 精品sm捆绑视频| 奇米一区二区三区av| 欧美在线制服丝袜| 亚洲视频在线一区二区| 国产麻豆日韩欧美久久| 日韩视频一区二区三区在线播放| 一区二区三区欧美日| 成人的网站免费观看| 久久香蕉国产线看观看99| 日本aⅴ亚洲精品中文乱码| 欧美在线小视频| 亚洲激情综合网| 92国产精品观看| 最近中文字幕一区二区三区| 国产不卡视频一区二区三区| 日韩精品一区二区三区中文不卡 | 国产成人一区在线| 日韩精品在线一区| 美女视频网站久久| 国产精品久久久久9999吃药| 狠狠色丁香久久婷婷综合_中| 91麻豆精品国产91久久久久 | 亚洲高清免费一级二级三级| 成人av在线播放网站| 国产亚洲va综合人人澡精品| 国产在线视频一区二区| 精品国产乱子伦一区| 久久疯狂做爰流白浆xx| 欧美一级日韩一级| 日本欧美在线看| 日韩欧美二区三区| 久久av资源网| 久久精品亚洲一区二区三区浴池| 精品亚洲aⅴ乱码一区二区三区| 欧美xxxx老人做受| 国产精品影视在线观看| 国产亚洲午夜高清国产拍精品 | 欧美性猛交xxxx黑人交| 一区二区日韩av| 欧美日韩日日骚| 男人操女人的视频在线观看欧美| 欧美一区二区免费| 国产一区二区三区四| 欧美国产视频在线| 91色.com| 婷婷综合另类小说色区| 欧美电视剧在线看免费| 国产精品自拍三区| 亚洲免费毛片网站| 欧美日韩精品福利| 久久99最新地址| 国产精品久久久久久久久免费相片| 99久久精品免费精品国产| 亚洲观看高清完整版在线观看| 欧美一区二区福利在线| 粉嫩av一区二区三区粉嫩| 亚洲与欧洲av电影| 精品久久久久av影院| 成人av网站在线观看免费| 午夜伊人狠狠久久|