import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.swing.text.*;
import javax.swing.undo.*;
import javax.swing.Timer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.text.DefaultStyledDocument;
/**
* 主函数
* @author Ivan
*/
public class Myedit
{
public static void main(String[] args)
{ new MyFrame(); }
}
/**
* 定义窗体即内部工具组件
*/
class MyFrame extends JFrame implements ActionListener,MouseListener,UndoableEditListener
{
JButton[] button=new JButton[13]; //工具栏上的按钮
JToolBar mToolBar=new JToolBar(); //工具栏
JTabbedPane jtabbedpane=new JTabbedPane();//选项卡面板
JTextPane[] JTextPane=new JTextPane[20];
JTextPane text=new JTextPane();
JTextArea area=new JTextArea();
JScrollPane[] jscrollpane=new JScrollPane[20];
UndoManager undomanager=new UndoManager(); //撤销,恢复
JList[] line= new JList[20];//JList显示对象 Vector
JScrollPane scrollpane;//JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口
JPanel panel=new JPanel();
FileDialog filedialog;
Dialog fstring;
TextField tfind=new TextField(20);
TextField treplace=new TextField(20);
TextField tdelete=new TextField(20);
Button bfind=new Button("查找字符串");
Button breplace=new Button("替换字符串");
Button bdelete=new Button("删除字符串");
int i=1,j=1;
JLabel label3;
boolean isChange = false;
static JFileChooser fileChooser=new JFileChooser();
static String name,path;
int currentindex=0;//当前的索引号
MenuBar mMenubar;//菜单栏
Menu menufile,menuedit,menufind,menuview,menuhelp;//菜单
static File file;
DocumentListener mylistener;
MenuItem mfileNew,mfileOpen,mfileSave,mfileSaveTo,mfileClose,mfileAllClose,mfileExit;//菜单项
MenuItem meditUndo,meditRedo,meditCut,meditCopy,meditPaste,meditDel,meditclear,medithigh,meditcheck;
MenuItem mfindSearch,mfindReplace,mfinddelete;
MenuItem mvtool,mvstate;
MenuItem mhabout;
MyFrame()
{
super("HTML语法检查器");
ImageIcon ii = new ImageIcon("images/man.gif");//窗体图标
mMenubar=new MenuBar();
//定义第一个菜单,文件菜单
menufile=new Menu("文件");
mfileNew=new MenuItem("新建",new MenuShortcut('N'));
mfileOpen=new MenuItem("打开",new MenuShortcut('O'));
mfileSave=new MenuItem("保存",new MenuShortcut('S'));
mfileSaveTo=new MenuItem("另存为");
mfileClose=new MenuItem("关闭",new MenuShortcut('W'));
mfileAllClose=new MenuItem("全部关闭");
mfileExit=new MenuItem("退出");
mfileAllClose.addActionListener(this);
mfileClose.addActionListener(this);
mfileSaveTo.addActionListener(this);
mfileSave.addActionListener(this);
mfileOpen.addActionListener(this);
mfileNew.addActionListener(this);
mfileExit.addActionListener(this);//退出监听
//添加到内存
menufile.add(mfileNew);
menufile.add(mfileOpen);
menufile.add(mfileSave);
menufile.add(mfileSaveTo);
menufile.addSeparator();
menufile.add(mfileClose);
menufile.add(mfileAllClose);
menufile.addSeparator();//添加菜单项的分隔线
menufile.add(mfileExit);
//定义第二个菜单,编辑菜单
menuedit=new Menu("编辑");
meditUndo=new MenuItem("撤销",new MenuShortcut('Z'));//MenuShortcut添加快捷键
meditRedo=new MenuItem("恢复",new MenuShortcut('Y'));
meditCut=new MenuItem("剪切",new MenuShortcut('X'));
meditCopy=new MenuItem("复制",new MenuShortcut('C'));
meditPaste=new MenuItem("粘贴",new MenuShortcut('V'));
meditclear=new MenuItem("清空",new MenuShortcut('G'));
medithigh=new MenuItem("高亮",new MenuShortcut('H'));
meditcheck=new MenuItem("纠错",new MenuShortcut('M'));
meditcheck.addActionListener(this);
medithigh.addActionListener(this);
meditclear.addActionListener(this);
meditUndo.addActionListener(this);
meditRedo.addActionListener(this);
meditCut.addActionListener(this);
meditCopy.addActionListener(this);
meditPaste.addActionListener(this);
menuedit.add(meditUndo);
menuedit.add(meditRedo);
menuedit.addSeparator();
menuedit.add(meditCut);
menuedit.add(meditCopy);
menuedit.add(meditPaste);
menuedit.addSeparator();
menuedit.add(meditcheck);
menuedit.add(medithigh);
menuedit.add(meditclear);
//定义第三个菜单,查找菜单
menufind=new Menu("查找");
mfindSearch=new MenuItem("查找",new MenuShortcut('F'));
mfindSearch.addActionListener(this);
mfindReplace=new MenuItem("替换",new MenuShortcut('R'));
mfindReplace.addActionListener(this);
mfinddelete=new MenuItem("删除");
mfinddelete.addActionListener(this);
menufind.add(mfindSearch);
menufind.add(mfindReplace);
menufind.add(mfinddelete);
//定义第四个菜单,视图菜单
menuview=new Menu("视图");
mvtool=new MenuItem("工具栏",new MenuShortcut('T'));
mvstate=new MenuItem("状态栏",new MenuShortcut('D'));
mvtool.addActionListener(this);
mvstate.addActionListener(this);
menuview.add(mvtool);
menuview.add(mvstate);
//定义第五个菜单,帮助菜单
menuhelp=new Menu("帮助");
mhabout=new MenuItem("关于HTML语法检查器");
mhabout.addActionListener(this);
menuhelp.add(mhabout);
menuview.add(mvtool);
//将子菜单装入菜单
mMenubar.add(menufile);
mMenubar.add(menuedit);
mMenubar.add(menufind);
mMenubar.add(menuview);
mMenubar.add(menuhelp);
setMenuBar(mMenubar); //添加菜单栏
add(ToolBar(),BorderLayout.NORTH);//增加工具栏
add(panel(),BorderLayout.CENTER);//增加面板
//设置状态栏
add(new MyPanel(),BorderLayout.SOUTH);
//监听系统关闭事件,制定出发响应
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
if(jtabbedpane.getTabCount()!=0){
JTextPane text=JTextPane[jtabbedpane.getSelectedIndex()];
int len = text.getText().length();
//当前选定的文件内容为空时
if(len==0){
//判断有几个文档被打开了,如果只有一个,还是空的,则直接退出程序,如果有多个,则提醒用户
if(jtabbedpane.getTabCount()!=1){
quite();}
else{System.exit(0);}
}
//当前选项卡内容不为空时,提醒
else{quite();}
}
else{System.exit(0);}
}
});
setSize(1000,650);
setLocation(170,70);//设置窗体的位置,其表示窗体距离屏幕左侧170,上面70
setVisible(true);
JTextPane[currentindex].setFont(new Font("Fixedsys",Font.PLAIN,14));
changelisten();
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); //当用户点击关闭时,不执行任何操作
setIconImage(ii.getImage());
createPopupMenu();//弹出菜单
}
/**
* 监听响应
*/
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="退出")//单击菜单项中的退出
{ quite();}
else if(e.getActionCommand()=="全部关闭")
{ closeall();}
else if(e.getActionCommand()=="关于HTML语法检查器")//单击菜单项中的"关于HTML语法检查器"
{ new Helpframe();}//显示帮助的窗
else if(e.getActionCommand()=="状态栏"){
if(i==1){
MyPanel.label3.setVisible(false);
i=0;}
else{
MyPanel.label3.setVisible(true);
i=1;}
}
else if(e.getActionCommand()=="工具栏"){
if(i==1){
mToolBar.setVisible(false);
i=0;}
else{
mToolBar.setVisible(true);
i=1;}
}
//点击按钮,增加选项卡
else if(e.getActionCommand()=="新建")
{ newtab();}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Mywork.rar (36个子文件)
.project 382B
bin
MyPanel$Listner.class 592B
Helpframe.class 4KB
MyFrame$1.class 1KB
welcome.class 2KB
Myedit.class 385B
Helpframe$1.class 800B
MyPanel.class 2KB
welcome$1.class 793B
Helpframe$2.class 587B
MyFrame$2.class 834B
MyFrame$PopupListener.class 1KB
MyFrame$3.class 657B
Help.class 385B
MyFrame.class 24KB
Myhtml.jar 23KB
src
welcome.java 2KB
Myedit.java 34KB
Help.java 4KB
images
search.gif 1019B
close.gif 1KB
waiting.gif 4KB
warn.gif 2KB
save.gif 206B
man.gif 1KB
恢复.gif 76B
mistake.gif 3KB
desktop.ini 83B
5.gif 31KB
2.gif 357KB
6.gif 5KB
撤销.gif 76B
unmistake.gif 2KB
help.gif 118B
open.gif 228B
.classpath 232B
共 36 条
- 1
资源评论
- _I孤鹰I_2014-05-06用了一次,还行吧。
- 红尘给我滚滚2012-05-18下载来使用了下,一点都不好用。根本就不能检查出来异常语法。
changfeng_26
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功