亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
婷婷久久综合九色国产成人| 日本高清不卡一区| 日韩精品专区在线| 国产一区中文字幕| 久久噜噜亚洲综合| 成人午夜视频网站| 国产精品久久久久国产精品日日| 国产91综合一区在线观看| 中文字幕av在线一区二区三区| 狠狠色丁香久久婷婷综合_中| 久久久亚洲精品一区二区三区| 国产精品自拍三区| 国产精品嫩草久久久久| 91浏览器在线视频| 午夜精品久久久久久久99樱桃| 亚洲高清视频在线| 欧美精品乱码久久久久久按摩| 国产真实乱子伦精品视频| 精品va天堂亚洲国产| 精品国产乱码久久久久久图片| 日韩精品专区在线影院重磅| 中文子幕无线码一区tr| 美日韩一级片在线观看| 一区二区三区精品视频在线| 日韩av午夜在线观看| 久久久五月婷婷| 久久久久久99精品| 国产精品人妖ts系列视频| 久久婷婷成人综合色| 国产精品久久夜| 日本一区二区三区电影| 亚洲另类色综合网站| 亚洲自拍都市欧美小说| 亚洲成人激情社区| 九九精品视频在线看| 岛国一区二区三区| 欧美日韩一区 二区 三区 久久精品| 欧美群妇大交群中文字幕| 久久久一区二区三区捆绑**| 亚洲人成伊人成综合网小说| 久久99精品国产麻豆婷婷洗澡| 波波电影院一区二区三区| 欧美日韩另类一区| 国产欧美精品一区aⅴ影院| 亚洲一区二区三区国产| 国产福利一区二区三区视频| 精品视频一区二区不卡| 欧美国产日本韩| 亚洲二区在线视频| 国产精品影视在线观看| 欧美老肥妇做.爰bbww视频| 国产精品丝袜91| 麻豆精品在线视频| 欧美性大战久久久久久久蜜臀| 久久精品视频在线看| 三级在线观看一区二区| 99久久婷婷国产综合精品| 日韩一区二区三区电影在线观看| ●精品国产综合乱码久久久久| 亚洲已满18点击进入久久| 国产成人自拍网| 日韩精品一区二区三区中文不卡| 中文字幕一区二区三区在线不卡 | 日本亚洲一区二区| 成人免费毛片片v| 精品美女一区二区| 午夜视黄欧洲亚洲| 欧美在线观看一二区| 国产精品精品国产色婷婷| 国产激情一区二区三区桃花岛亚洲| 91精品国产色综合久久久蜜香臀| 亚洲精品视频免费看| 99国产欧美久久久精品| 国产精品天天看| 国产高清不卡二三区| 久久免费偷拍视频| 国产一区二区三区香蕉 | 久久综合色婷婷| 精品伊人久久久久7777人| 欧美日韩国产综合久久| 亚洲第一二三四区| 在线观看免费视频综合| 亚洲精品写真福利| 成人黄页在线观看| 久久精品欧美一区二区三区不卡| 精品午夜久久福利影院 | 久久男人中文字幕资源站| 国产在线精品一区二区不卡了 | 久久久高清一区二区三区| 国产一区二区影院| 中文字幕欧美激情一区| 成人开心网精品视频| 国产精品午夜在线| 欧美这里有精品| 日韩和欧美的一区| 国产日韩欧美高清| 在线视频欧美精品| 日日摸夜夜添夜夜添国产精品 | 懂色中文一区二区在线播放| 欧美极品aⅴ影院| 91麻豆福利精品推荐| 亚洲一区精品在线| 欧美大片日本大片免费观看| 国产在线精品一区二区夜色| 久久久亚洲高清| 91色视频在线| 日本最新不卡在线| 国产精品嫩草影院com| 欧美丝袜丝交足nylons| 久久精品免费观看| 国产精品久久久久婷婷| 欧美日韩国产一二三| 国产成人亚洲综合色影视| 亚洲精品成人精品456| 日韩一级成人av| 91麻豆高清视频| 国产永久精品大片wwwapp| 亚洲精品免费在线| 久久综合狠狠综合久久综合88 | 亚洲精品视频在线看| 日韩免费观看2025年上映的电影| 成人av影视在线观看| 日韩精品欧美成人高清一区二区| 欧美国产视频在线| 欧美精品久久99久久在免费线| 麻豆91在线播放免费| 亚洲一区中文日韩| 日本一二三不卡| 欧美白人最猛性xxxxx69交| 欧美中文字幕一区二区三区 | 欧美性猛片aaaaaaa做受| 欧美欧美欧美欧美| 97精品超碰一区二区三区| 日本欧美一区二区三区乱码| 一区二区三区四区乱视频| 国产日本亚洲高清| 久久蜜桃av一区二区天堂| 欧美一区二区精品在线| 91高清视频免费看| 成人免费视频播放| 国产成a人亚洲精| 久久国产精品99久久久久久老狼| 亚洲综合在线免费观看| 国产午夜亚洲精品理论片色戒| 5566中文字幕一区二区电影| 欧美性三三影院| 在线影视一区二区三区| 成人黄色国产精品网站大全在线免费观看| 蜜臀av国产精品久久久久| 玉足女爽爽91| 亚洲综合在线视频| 一区二区三区在线播放| 国产欧美日本一区二区三区| 国产日韩欧美一区二区三区综合| 日韩一区二区三免费高清| 欧美喷潮久久久xxxxx| 欧美色电影在线| 欧美日韩国产电影| 欧美性视频一区二区三区| 色女孩综合影院| 一本色道久久综合亚洲91| 91看片淫黄大片一级在线观看| 成人18视频日本| 91丝袜高跟美女视频| 91免费视频网址| 色综合色综合色综合| 欧美日韩视频在线一区二区| 欧美日韩一二区| 欧美一级免费大片| 日韩免费一区二区三区在线播放| 精品国产在天天线2019| 国产欧美一区二区精品婷婷| 亚洲国产精品传媒在线观看| 亚洲少妇最新在线视频| 午夜久久久久久久久 | 日韩欧美电影一区| 日韩精品午夜视频| 国产一区视频导航| 成人激情综合网站| 欧美视频在线不卡| 欧美视频日韩视频| 日韩一区和二区| 国产女人18水真多18精品一级做| 亚洲美女在线国产| 蜜乳av一区二区| 成人午夜av在线| 欧美日韩三级一区| 久久精品在线观看| 午夜精品久久久久久久| 国产一区二区三区国产| 91丨国产丨九色丨pron| 日韩免费视频一区二区| 亚洲激情图片qvod| 久久精品久久精品| 日本丰满少妇一区二区三区| 欧美xxxx老人做受| 亚洲电影一区二区三区| 国产成人精品综合在线观看| 欧美日本韩国一区二区三区视频| 久久精品人人做人人爽人人|