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

📄 jishiben.java

📁 自己用java做的一个仿windows的记事本 希望各位前辈多加指点
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JDialog;
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.JTextField;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;

public class JiShiBen extends JFrame implements ActionListener, KeyListener, MouseListener{
	
	int X = 1, Y = 1;
	
	Fontdialog s1 = new Fontdialog(this,"字体" ,true);
	
	JDialog TihuanDialog = new JDialog(this,"搜索/替換",false);

	JPanel searchpanel=new JPanel();
	JPanel searchbuttonpanel=new JPanel();
	JPanel searchtextpanel=new JPanel();
	JPanel changepanel=new JPanel();
	JPanel changebuttonpanel=new JPanel();
	JPanel changetextpanel=new JPanel();
	
	boolean isfont = false;
	
	static JiShiBen frm = new JiShiBen();
	
	Container cp = this.getContentPane();
	
	JMenuBar bar = new JMenuBar();

	JLabel searchtip=new JLabel("搜索关键字:");
	JLabel changetip=new JLabel("替换为:  ");
	JLabel setBar = new JLabel();

	JTextField changetext=new JTextField("",10);
	JTextField searchtext=new JTextField("",10);
	
	JTextArea area = new JTextArea();

	JScrollPane p1 = new JScrollPane(area);
	
	JCheckBoxMenuItem gou = new JCheckBoxMenuItem();
	
	FileDialog ofd = new FileDialog(frm, "打开");
	FileDialog sfd = new FileDialog(frm, "保存", FileDialog.SAVE);
	
	JMenu feild = new JMenu("文件(F)");
	JMenu bianji = new JMenu("编辑(E)");
	JMenu geshi = new JMenu("格式(O)");
	JMenu find = new JMenu("查看(V)");
	JMenu help = new JMenu("帮助(H)");
	
	JMenuItem newj = new JMenuItem("新建(N)");
	JMenuItem open = new JMenuItem("打开(O)...");
	JMenuItem save = new JMenuItem("保存(S)");
	JMenuItem saveother = new JMenuItem("另存为(A)...");
	JMenuItem yemian = new JMenuItem("页面设置(U)...");
	JMenuItem dayin = new JMenuItem("打印(P)...");
	JMenuItem exit = new JMenuItem("退出(X)");
	
	JMenuItem chexiao = new JMenuItem("撤销(U)");
	JMenuItem jianqie = new JMenuItem("剪切(T)");
	JMenuItem fuzhi = new JMenuItem("复制(C)");
	JMenuItem zhantie = new JMenuItem("粘贴(P)");
	JMenuItem shanchu = new JMenuItem("删除(L)");
	JMenuItem findf = new JMenuItem("查找(F)...");
	JMenuItem findnext = new JMenuItem("查找下一个(N)");
	JMenuItem tihuan = new JMenuItem("替换(R)...");
	JMenuItem zhuandao = new JMenuItem("转到(G)...");
	JMenuItem all = new JMenuItem("全选(A)");
	JMenuItem time = new JMenuItem("时间/日期(D)");
	
	JMenuItem huanhang = new JMenuItem("自动换行(W)");
	JMenuItem ziti = new JMenuItem("字体(F)...");
	
	JMenuItem zhuangtai = new JMenuItem("状态栏(S)");
	
	JMenuItem help1 = new JMenuItem("帮助主题(H)");
	JMenuItem about = new JMenuItem("关于记事本(A)");
	
	JButton searchok=new JButton("查找下一个");
	JButton searchcancel=new JButton("取消搜索");
	JButton changeok=new JButton("替换");
	JButton changeall=new JButton("全部替换");
	
	JiShiBen(){
		this.setTitle("魔帅出品");
		this.setSize(900,550);
		this.setLayout(new BorderLayout());
		this.init();
		this.add(p1,BorderLayout.CENTER);
		this.add(bar,BorderLayout.NORTH);
	}
	
	void init(){
		bar.add(feild);
		bar.add(bianji);
		bar.add(geshi);
		bar.add(find);
		bar.add(help);
		
		feild.add(newj);
		feild.add(open);
		feild.add(save);
		feild.add(saveother);
		feild.addSeparator();
		feild.add(yemian);
		feild.add(dayin);
		feild.addSeparator();
		feild.add(exit);
		
		bianji.add(chexiao);
		bianji.addSeparator();
		bianji.add(jianqie);
		bianji.add(fuzhi);
		bianji.add(zhantie);
		bianji.add(shanchu);
		bianji.addSeparator();
		bianji.add(findf);
		bianji.add(findnext);
		bianji.add(tihuan);
		bianji.add(zhuandao);
		bianji.addSeparator();
		bianji.add(all);
		bianji.add(time);
		
		geshi.add(huanhang);
		geshi.add(ziti);
		
		find.add(zhuangtai);
		
		help.add(help1);
		help.addSeparator();
		help.add(about);
		
		TihuanDialog.setResizable(false);
		TihuanDialog.setLayout(new BorderLayout());
		TihuanDialog.setSize(250,230);
		searchpanel.setBorder(BorderFactory.createTitledBorder("搜索"));//加边框
		searchpanel.setLayout(new BoxLayout(searchpanel, BoxLayout.Y_AXIS));//上下的
		searchbuttonpanel.setLayout(new FlowLayout());
		searchtextpanel.setLayout(new FlowLayout());
		searchtextpanel.add(searchtip);
		searchtextpanel.add(searchtext);
		searchbuttonpanel.add(searchok);
		searchbuttonpanel.add(searchcancel);
		searchpanel.add(searchtextpanel);
		searchpanel.add(searchbuttonpanel);
		TihuanDialog.add(searchpanel,BorderLayout.NORTH);   //搜索对话框(搜索)

		changepanel.setBorder(BorderFactory.createTitledBorder("替换"));//加边框
		changepanel.setLayout(new BoxLayout(changepanel, BoxLayout.Y_AXIS));//上下的
		changebuttonpanel.setLayout(new FlowLayout());
		changetextpanel.setLayout(new FlowLayout());
		changetextpanel.add(changetip);
		changetextpanel.add(changetext);
		changebuttonpanel.add(changeok);
		changebuttonpanel.add(changeall);
		changepanel.add(changetextpanel);
		changepanel.add(changebuttonpanel);
		TihuanDialog.add(changepanel,BorderLayout.CENTER);
		changeok.addActionListener(this);
		changeall.addActionListener(this);  //搜索对话框(替换)
		
		setBar = new JLabel("ln " + X +  " , " +  "col "  + Y); 
		setBar.setHorizontalAlignment(SwingConstants.RIGHT); 
		setBar.setBorder(BorderFactory.createEtchedBorder()); 
		setBar.setVisible(false);
		cp.add(setBar, BorderLayout.SOUTH);
		
		newj.addActionListener(this);
		open.addActionListener(this);
		save.addActionListener(this);
		saveother.addActionListener(this);
		yemian.addActionListener(this);
		dayin.addActionListener(this);
		exit.addActionListener(this);
		chexiao.addActionListener(this);
		jianqie.addActionListener(this);
		fuzhi.addActionListener(this);
		zhantie.addActionListener(this);
		shanchu.addActionListener(this);
		findf.addActionListener(this);
		findnext.addActionListener(this);
		tihuan.addActionListener(this);
		zhuandao.addActionListener(this);
		all.addActionListener(this);
		time.addActionListener(this);
		huanhang.addActionListener(this);
		ziti.addActionListener(this);
		zhuangtai.addActionListener(this);
		help1.addActionListener(this);
		about.addActionListener(this);
		searchok.addActionListener(this);
		searchcancel.addActionListener(this);
		area.addKeyListener(this);
		area.addMouseListener(this);
		
		newj.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
		open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
		save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
		dayin.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
		chexiao.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
		jianqie.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
		fuzhi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
		zhantie.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
		findf.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
		tihuan.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
		zhuandao.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,InputEvent.CTRL_MASK));
		all.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
		shanchu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
		time.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5,0));
		
		newj.setMnemonic(KeyEvent.VK_N);
		open.setMnemonic(KeyEvent.VK_O);
		save.setMnemonic(KeyEvent.VK_S);
		saveother.setMnemonic(KeyEvent.VK_A);
		yemian.setMnemonic(KeyEvent.VK_U);
		dayin.setMnemonic(KeyEvent.VK_P);
		exit.setMnemonic(KeyEvent.VK_X);
		chexiao.setMnemonic(KeyEvent.VK_U);
		jianqie.setMnemonic(KeyEvent.VK_T);
		fuzhi.setMnemonic(KeyEvent.VK_C);
		zhantie.setMnemonic(KeyEvent.VK_P);
		shanchu.setMnemonic(KeyEvent.VK_L);
		findf.setMnemonic(KeyEvent.VK_F);
		findnext.setMnemonic(KeyEvent.VK_N);
		tihuan.setMnemonic(KeyEvent.VK_R);
		zhuandao.setMnemonic(KeyEvent.VK_G);
		all.setMnemonic(KeyEvent.VK_A);
		time.setMnemonic(KeyEvent.VK_D);
		huanhang.setMnemonic(KeyEvent.VK_W);
		ziti.setMnemonic(KeyEvent.VK_F);
		zhuangtai.setMnemonic(KeyEvent.VK_S);
		help.setMnemonic(KeyEvent.VK_H);

⌨️ 快捷键说明

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