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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainframe.java

?? 實現了Window的NotePad的功能
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
package cqj.jar.com;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;

import javax.swing.BorderFactory;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.text.BadLocationException;

public class MainFrame extends JFrame {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1136738504089402821L;
	public MainFrame() {
		super("新建文本文件1.txt");
		//findNewFileNm();
		//this.setTitle(name);
		setUpJFrameInfo();
		
		setUpUIComponent();		//添加組件
		
		putInCenter();			//窗口居中顯示
		
		setUpEventListener();	//設置事件監聽
		
		Cursor cursor = new Cursor(Cursor.HAND_CURSOR );
		areaText.setCursor(cursor);
		this.setVisible(true);
	}
	
	private void putInCenter() {
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		/*
		x - 組件的新 x 坐標
		y - 組件的新 y 坐標
		width - 組件的新 width
		height - 組件的新 height
		*/
		this.setBounds(
				(int)(screenSize.getWidth()-getWidth())/2, 
				(int)(screenSize.getHeight()-getHeight())/2, 
				getWidth(), getHeight());
	}
	public int getWidth(){
		return width;
	}
	public int getHeight(){
		return height;
	}

	
	private void setUpJFrameInfo() {
		//設置JFrame框架本身的一些屬性
		setSize(getWidth(),getHeight());			
		
		//下面這行很重要,
		//怎樣取消windowClosing(WindowEvent e)的關閉窗口動作
		this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		
		changeTitleIcon();
		
		chooser = new JFileChooser();
	}
	
	private void changeTitleIcon() {
		//更改java應用程序標題欄默認圖標
		/*現提供兩種方法:
		方法一:
		如果你用過Toolkit類,這將是一件很簡單的事情:
		*/
		Toolkit tk=Toolkit.getDefaultToolkit();
		Image image = tk.createImage(titleIcon); /*image.gif是你的圖標*/
		this.setIconImage(image); 
		/*
		方法二:
		用到ImageIcon類和setIconImage方法。
		
	    String image2 = new String("face.gif"); //建立一個字符串保存要用的圖標的路徑,關于java的路徑請參考其它文檔
		ImageIcon test = new ImageIcon(image2); //建立一個ImageIcon類,產生setIconImage()方法需要的Image數據
		this.setIconImage(test.getImage()); //設置標題欄的圖標為face.gif
		*/
	}
	private void setUpUIComponent(){	
		//菜單欄
		JMenuBar menuBar = new JMenuBar();
		
//		設置“文件”菜單
		menuFile = new JMenu("文件");		//設置“文件”菜單
		//JMenu editMenu = new JMenu();		//設置“編輯”菜單
		//JMenu helpMenu = new JMenu();		//設置“幫助”菜單
		
		itemNew = new JMenuItem("新建");
		itemNew.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_N, 
				InputEvent.CTRL_MASK));		//添加打開的快捷鍵CTRL+O
		itemOpen = new JMenuItem("打開");
		itemOpen.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_O, 
				InputEvent.CTRL_MASK));		//添加打開的快捷鍵CTRL+O
		itemSave = new JMenuItem("保存");
		itemSave.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_S, 
				InputEvent.CTRL_MASK));		//添加快捷鍵CTRL+S
		itemSaveAs = new JMenuItem("另存為...");		
		itemClose = new JMenuItem("關閉");
		itemClose.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_Q, 
				InputEvent.CTRL_MASK));		//添加快捷鍵CTRL+Q
		
		menuFile.add(itemNew);
		menuFile.add(itemOpen);		
		menuFile.addSeparator();			//添加“分隔符”
		menuFile.add(itemSave);
		menuFile.add(itemSaveAs);
		menuFile.addSeparator();			//添加“分隔符”
		menuFile.add(itemClose);
		
//		設置“編輯”菜單
		menuEdit = new JMenu("編輯");		//
		itemCut =  new JMenuItem("剪切");
		itemCut.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_X,
				InputEvent.CTRL_MASK));
		
		itemCopy = new JMenuItem("復制");
		itemCopy.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_C,
				InputEvent.CTRL_MASK));
		
		itemPaste = new JMenuItem("粘貼");
		itemPaste.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_V,
				InputEvent.CTRL_MASK));
		itemSearch = new JMenuItem("查找...");
		itemSearch.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_F,
				InputEvent.CTRL_MASK));
		
		itemReplace = new JMenuItem("替換...");
		itemReplace.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_R,
				InputEvent.CTRL_MASK));
		menuEdit.add(itemCut);
		menuEdit.add(itemCopy);
		menuEdit.add(itemPaste);
		menuEdit.addSeparator();			//添加“分隔符”
		menuEdit.add(itemSearch);
		menuEdit.add(itemReplace);
		
//		設置“格式”菜單
		menuFormat = new JMenu("格式");
		itemAutoLine = new JMenuItem("自動換行 (N)");
		//itemAutoLine.setAccelerator(KeyStroke.getKeyStroke(
				//KeyEvent.VK_F5,
				//InputEvent.CTRL_MASK));
		itemFont = new JMenuItem("字體...");
		//itemFont.setAccelerator(KeyStroke.getKeyStroke(
				//KeyEvent.VK_F1,
				//InputEvent.CTRL_MASK));
		menuFormat.add(itemAutoLine);
		menuFormat.add(itemFont);
		
//		設置“設置”菜單
		menuSetting = new JMenu("設置");
		itemBackground = new JMenuItem("背景色");
		itemForeground = new JMenu("前景色");
		itemCaretColor = new JMenuItem("光標色");
		menuSetting.add(itemBackground);
		menuSetting.add(itemForeground);
		menuSetting.add(itemCaretColor);

		JMenuItem[] colorItems = new JMenuItem[FontConstants.strColor.length];
		int k = 0;
		for(String i : FontConstants.strColor) {
			colorItems[k] = new JMenuItem(i);	
			//itemBackground.add(colorItems[k]);	
			itemForeground.add(colorItems[k]);			
			k++;
		}
		
		
//		設置“幫助”菜單
		menuHelp = new JMenu("幫助");
		itemAbout = new JMenuItem("關于本軟件");
		itemAbout.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_F5,
				InputEvent.CTRL_MASK));
		itemHelp = new JMenuItem("幫助主題");
		itemHelp.setAccelerator(KeyStroke.getKeyStroke(
				KeyEvent.VK_F1,
				InputEvent.CTRL_MASK));
		menuHelp.add(itemHelp);
		menuHelp.addSeparator();
		menuHelp.add(itemAbout);
		
		menuBar.add(menuFile);
		menuBar.add(menuEdit);
		menuBar.add(menuFormat);
		menuBar.add(menuSetting);
		menuBar.add(menuHelp);
		
		setItemEnabled(false);
		//設置"文本編輯區域"
		areaText = new JTextArea();
		//加載字體文本文件
		loadFontSetFile();
		//初始化顯示文本的字體
		areaText.setFont(new Font(
				FontDialog.strFont[selectedFont],
				FontDialog.indexToFont(selectedStyle),
				Integer.parseInt(FontDialog.strSize[selectedSize])
				));
		
		areaText.setLineWrap(false);		//設置文本區的換行策略:
		//如果設置為 true,則當行的長度大于所分配的寬度時,將換行
		areaText.setSelectedTextColor(selectedTextColor); 
		//文本區的背景色
		areaText.setBackground(this.areaBackground);	
		areaText.setForeground(this.areaForeground);
		areaText.setCaretColor(this.caretColor);
		
		
		//Toolkit kit = Toolkit.getDefaultToolkit();
	
		//設置用于呈現選定文本的當前顏色。
		//isAutoLine = true;
		JScrollPane panel = new JScrollPane(areaText,
				ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); //HORIZONTAL_SCROLLBAR_NEVER
		
		//狀態欄
		stateBar = new JLabel("未修改");
		stateBar.setHorizontalAlignment(SwingConstants.LEFT);	//JLabel中文字的置左
		//stateBar.set
		stateBar.setBorder(BorderFactory.createLoweredBevelBorder());	//createEtchedBorder:JLabel邊界外觀為:蝕刻外觀
		stateBar.setForeground(Color.GRAY);
		JPanel statePanel = new JPanel(new GridLayout(1,2));
		labelColRows = new JLabel("行: 1, 列: 1");
		labelColRows.setBorder(BorderFactory.createLoweredBevelBorder());	//凹進去的外觀
		statePanel.add(stateBar);
		statePanel.add(labelColRows);
		
		setJMenuBar(menuBar);	
		Container contentPane = this.getContentPane();
		contentPane.add(panel, BorderLayout.CENTER);
		contentPane.add(statePanel, BorderLayout.SOUTH);
		
		popUpMenu = menuEdit.getPopupMenu();
		
		createInitFile();		
	}
		
	
	private void setItemEnabled(boolean state) {
		//設置某些菜單項的狀態,這與JTextArea當前是否有內容有關
		//比JTextArea當前為空時,查找,剪切等操作無意義
		itemCut.setEnabled(state);
		itemCopy.setEnabled(state);
		itemSearch.setEnabled(state);
	}
	
	private void setUpEventListener(){
		//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//單擊窗口關閉按鈕事件處理
		//注意:My_WindowAdapter 下的WindowClosing 不管怎么樣都會使窗口隱藏???
		this.addWindowListener(new My_WindowAdapter());
		
		//菜單——新建
		itemNew.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				createNewFile();
			}
		});
		
		//菜單——打開
		itemOpen.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				openFile();
			}
		});
		
		//菜單——保存
		itemSave.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				saveFile();
			}
		});
		
		//菜單——另存為
		itemSaveAs.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				saveFileAs();
			}
		});
		
		//菜單——關閉
		itemClose.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				closeFile();
			}
		});
		
		//菜單——剪切
		itemCut.addActionListener(
				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						cut();
					}
				});
		
		//菜單——復制
		itemCopy.addActionListener(
				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						copy();
					}
				});
		
		//菜單——粘貼
		itemPaste.addActionListener(
				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						paste();
					}
				});
		
		//菜單——查找
		itemSearch.addActionListener(
				new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						search();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看不卡av| 成人高清免费观看| 亚洲欧美偷拍卡通变态| 中文av一区二区| 精品国产成人在线影院| 欧美精选一区二区| 国产最新精品免费| 国产剧情在线观看一区二区| 免费在线看成人av| 日韩在线a电影| 国产一区二区三区四| 日本午夜精品一区二区三区电影| 一区二区三区在线免费| 亚洲狠狠丁香婷婷综合久久久| 国产精品国产自产拍高清av| 欧美激情一区不卡| 在线电影一区二区三区| 精品国产露脸精彩对白| 精品少妇一区二区三区免费观看 | 欧美丰满一区二区免费视频 | 性做久久久久久免费观看欧美| 中文字幕永久在线不卡| 国产精品久久久久久久久免费相片 | 秋霞av亚洲一区二区三| 国产伦精品一区二区三区免费| 国产在线播放一区| 国产成人精品免费在线| 国产成人aaaa| 欧美性猛交xxxx乱大交退制版| 欧美日韩久久一区二区| 91精品在线免费| 中文字幕免费在线观看视频一区| 亚洲国产精品成人综合| 亚洲视频网在线直播| 欧美韩国日本一区| 日本美女一区二区三区| 国产一区二区三区四区五区入口| 成人在线综合网站| 制服丝袜一区二区三区| 精品国产91九色蝌蚪| 国产精品麻豆久久久| 高清国产一区二区三区| 91网上在线视频| 宅男在线国产精品| 国产人成亚洲第一网站在线播放 | 色天天综合色天天久久| 91精品国产欧美一区二区18| 久久九九国产精品| 一区二区三区在线视频播放| 奇米影视一区二区三区小说| 成年人网站91| 欧美日韩国产首页在线观看| 久久色在线观看| 免费人成黄页网站在线一区二区| 成人一级片在线观看| 在线一区二区三区做爰视频网站| 欧美一级淫片007| 亚洲天堂网中文字| 一区二区三区中文字幕电影| 成年人国产精品| 日韩免费在线观看| 亚洲高清中文字幕| 99综合电影在线视频| 欧美一级国产精品| **网站欧美大片在线观看| 国产精品伊人色| 欧美一个色资源| 亚洲欧美视频在线观看视频| jizz一区二区| 国产欧美日韩视频在线观看| 美女网站色91| 91精品国产入口| 午夜视频在线观看一区二区三区| 亚洲成av人片一区二区梦乃 | 国产真实乱子伦精品视频| 亚洲chinese男男1069| 强制捆绑调教一区二区| 国产麻豆日韩欧美久久| 99久久久精品免费观看国产蜜| 亚洲免费av观看| 免费观看在线色综合| 久久日一线二线三线suv| 成人黄页在线观看| 奇米在线7777在线精品| 中文字幕中文字幕一区| 91精品国产综合久久久久久漫画| 一区二区三区影院| 国产欧美一区二区精品性| 91成人在线免费观看| 国产乱对白刺激视频不卡| 香蕉成人啪国产精品视频综合网| 久久久精品蜜桃| 欧美裸体一区二区三区| 国产美女精品在线| 日本视频一区二区三区| 国产精品久久久久久福利一牛影视 | 国产乱人伦偷精品视频免下载 | 天堂久久久久va久久久久| 国产视频911| 欧美一级免费观看| 日本久久电影网| 粉嫩13p一区二区三区| 另类的小说在线视频另类成人小视频在线| 亚洲三级免费观看| 国产视频在线观看一区二区三区| 欧美精品久久99久久在免费线| 国产一区二区三区在线观看免费 | 久久亚洲私人国产精品va媚药| 91精彩视频在线观看| 国产毛片精品国产一区二区三区| 视频在线观看一区二区三区| 亚洲免费观看高清| 国产精品久久久久精k8| 亚洲精品一区二区三区影院 | 欧美年轻男男videosbes| aaa国产一区| 不卡欧美aaaaa| www.亚洲色图.com| 成人免费看的视频| 免费成人深夜小野草| 久久99热99| 欧美a级理论片| 蜜桃视频免费观看一区| 午夜久久久影院| 麻豆国产91在线播放| 国产主播一区二区三区| 成人精品视频一区二区三区尤物| 不卡的电影网站| 91高清在线观看| 91精品欧美一区二区三区综合在| 日韩一区二区三区视频在线| 日韩午夜激情免费电影| 精品国产在天天线2019| 国产视频一区在线观看| 一区二区三区精品在线| 青青草视频一区| 高清在线观看日韩| 精品视频999| 337p粉嫩大胆噜噜噜噜噜91av | 日韩美女精品在线| 亚洲va国产天堂va久久en| 精品亚洲成av人在线观看| 成人av在线影院| 884aa四虎影成人精品一区| 精品国产精品一区二区夜夜嗨| 日韩毛片精品高清免费| 日本一道高清亚洲日美韩| 国产69精品久久久久毛片| 欧美三级韩国三级日本一级| 欧美α欧美αv大片| 亚洲人成小说网站色在线| 日本亚洲电影天堂| 色综合色综合色综合色综合色综合 | 99这里都是精品| 日韩一区二区三区av| 中文字幕一区二区不卡| 日韩高清在线一区| 成人福利视频网站| 欧美一区二区国产| 日韩伦理电影网| 韩国精品免费视频| 在线看日本不卡| 国产欧美精品一区二区色综合朱莉 | 成人av影视在线观看| 日韩色视频在线观看| 亚洲精品免费在线| 国产美女精品一区二区三区| 欧美久久久久中文字幕| 中文字幕亚洲精品在线观看| 久久不见久久见免费视频7 | 色视频成人在线观看免| 久久精品亚洲麻豆av一区二区| 亚洲成人资源网| 91丨九色porny丨蝌蚪| 国产亚洲1区2区3区| 看片的网站亚洲| 91精品国产91综合久久蜜臀| 一区二区三区国产| 99精品视频一区二区| 亚洲国产成人午夜在线一区| 国内精品国产三级国产a久久| 精品视频999| 亚洲高清免费观看高清完整版在线观看| 成人av免费网站| 国产嫩草影院久久久久| 国产永久精品大片wwwapp| 欧美大片一区二区| 美日韩黄色大片| 欧美大胆一级视频| 蜜桃av一区二区三区电影| 337p亚洲精品色噜噜狠狠| 性久久久久久久| 欧美一区二区三区不卡| 日韩黄色免费电影| 91精品在线观看入口| 免费成人小视频| 精品国产一区二区在线观看| 狠狠色2019综合网| 国产欧美一区二区精品秋霞影院| 国产精品综合在线视频|