java文本编译代码.docx
《java文本编译代码.docx》由会员分享,可在线阅读,更多相关《java文本编译代码.docx(21页珍藏版)》请在冰点文库上搜索。
java文本编译代码
importjava.io.*;
importjava.awt.*;
importjavax.swing.*;
importjava.util.Date;
importjava.awt.event.*;
importjava.util.Calendar;
importjava.text.SimpleDateFormat;
publicclassHDGextendsJFrame
{
JMenuBarmenub=newJMenuBar();
JTextAreatext=newJTextArea();
JMenufiles=newJMenu("文件(F)");
JMenuedit=newJMenu("编辑(E)");
JMenuformats=newJMenu("格式(O)");
JMenuhelp=newJMenu("帮助(H)");
JMenuItemnewFile=newJMenuItem("新建(N)");
JMenuItemopen=newJMenuItem("打开(O)...");
JMenuItemsave=newJMenuItem("保存(S)");
JMenuItemsaveAs=newJMenuItem("另存为(A)...");
JMenuItemexit=newJMenuItem("退出(X)");
JMenuItemcut=newJMenuItem("剪切(T)");
JMenuItemcopy=newJMenuItem("复制(C)");
JMenuItempaste=newJMenuItem("粘贴(P)");
JMenuItemfind=newJMenuItem("查找(F)...");
JMenuItemfindNext=newJMenuItem("查找下一个(N)");
JMenuItemreplace=newJMenuItem("替换(R)...");
JMenuItemselectAll=newJMenuItem("全选(A)");
JMenuItemtimeDate=newJMenuItem("时间/日期(D)");
JCheckBoxMenuItemlineWrap=newJCheckBoxMenuItem("自动换行(M)");
JMenuItemfonts=newJMenuItem("字体(F)...");
JMenuItemcolor=newJMenuItem("字体颜色(C)...");
JMenuItemabout=newJMenuItem("关于记事本(A)");
JPopupMenupopupMenu=newJPopupMenu();
JMenuItemMenuMouseCut=newJMenuItem("剪切(T)");
JMenuItemMenuMouseCopy=newJMenuItem("复制(C)");
JMenuItemMenuMousePaste=newJMenuItem("粘贴(P)");
JMenuItemMenuMouseselectAll=newJMenuItem("全选(A)");
JFrameth=this;
Stringname;
StringopenedPath=null;
booleanopened=false;
booleanreworked=false;
HDG(Stringname)
{
super(name);
this.name=name;
intx,y;
Dimensionsize=Toolkit.getDefaultToolkit().getScreenSize();
x=(size.width-600)/2;
y=(size.height-400)/2;
setSize(600,400);
setLocation(x,y);
setMinimumSize(newDimension(250,150));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
voidinit()
{
files.setMnemonic('F');
edit.setMnemonic('E');
formats.setMnemonic('O');
help.setMnemonic('H');
newFile.setMnemonic('N');
open.setMnemonic('O');
save.setMnemonic('S');
saveAs.setMnemonic('A');
exit.setMnemonic('X');
cut.setMnemonic('T');
copy.setMnemonic('C');
paste.setMnemonic('P');
find.setMnemonic('F');
findNext.setMnemonic('N');
replace.setMnemonic('R');
selectAll.setMnemonic('A');
timeDate.setMnemonic('D');
lineWrap.setMnemonic('M');
fonts.setMnemonic('F');
color.setMnemonic('C');
about.setMnemonic('A');
newFile.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));
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,InputEvent.CTRL_MASK));
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
timeDate.setAccelerator(KeyStroke.getKeyStroke("F5"));
files.add(newFile);
files.add(open);
files.add(save);
files.add(saveAs);
files.addSeparator();
files.add(exit);
edit.addSeparator();
edit.add(cut);
edit.add(copy);
edit.add(paste);
edit.addSeparator();
edit.add(find);
edit.add(findNext);
edit.add(replace);
edit.addSeparator();
edit.add(selectAll);
edit.add(timeDate);
formats.add(lineWrap);
formats.add(fonts);
formats.add(color);
help.add(about);
menub.add(files);
menub.add(edit);
menub.add(formats);
menub.add(help);
setJMenuBar(menub);
getContentPane().add(newJScrollPane(text));
popupMenu.add(MenuMouseCut);
popupMenu.add(MenuMouseCopy);
popupMenu.add(MenuMousePaste);
popupMenu.add(MenuMousePaste);
popupMenu.add(MenuMouseselectAll);
Listenlisten=newListen();
Listen1listen1=newListen1();
newFile.addActionListener(listen);
open.addActionListener(listen);
save.addActionListener(listen);
saveAs.addActionListener(listen);
exit.addActionListener(listen);
cut.addActionListener(listen);
copy.addActionListener(listen);
paste.addActionListener(listen);
find.addActionListener(listen);
findNext.addActionListener(listen);
replace.addActionListener(listen);
selectAll.addActionListener(listen);
timeDate.addActionListener(listen);
lineWrap.addActionListener(listen);
fonts.addActionListener(listen);
color.addActionListener(listen);
about.addActionListener(listen);
open.addActionListener(listen1);
save.addActionListener(listen1);
saveAs.addActionListener(listen1);
find.addActionListener(listen1);
findNext.addActionListener(listen1);
replace.addActionListener(listen1);
fonts.addActionListener(listen1);
text.addMouseListener(newMouseAdapter()
{
publicvoidmousePressed(MouseEvente){checkForTriggerEvent(e);}
publicvoidmouseReleased(MouseEvente){checkForTriggerEvent(e);}
privatevoidcheckForTriggerEvent(MouseEvente)
{
if(e.isPopupTrigger())
{
popupMenu.show(e.getComponent(),e.getX(),e.getY());
}
}
});
MenuMouseCut.addActionListener(newActionListener()
{publicvoidactionPerformed(ActionEvente){text.cut();}}
);
MenuMouseCopy.addActionListener(newActionListener()
{publicvoidactionPerformed(ActionEvente){text.copy();}}
);
MenuMousePaste.addActionListener(newActionListener()
{publicvoidactionPerformed(ActionEvente){text.paste();}}
);
MenuMouseselectAll.addActionListener(newActionListener()
{publicvoidactionPerformed(ActionEvente){text.selectAll();}}
);
}
classListenimplementsActionListener
{
publicvoidactionPerformed(ActionEvente)
{
Objectsource=e.getSource();
if(source==newFile)
{
text.setText("");
th.setTitle(name);
openedPath=null;
opened=false;
}
elseif(source==exit)
{
System.exit(0);
}
elseif(source==selectAll)
text.selectAll();
elseif(source==cut)
text.cut();
elseif(source==copy)
text.copy();
elseif(source==paste)
text.paste();
elseif(source==lineWrap)
text.setLineWrap(!
text.getLineWrap());
elseif(source==about)
{
JFrameabout=newJFrame("记事本");
JLabellabel1=newJLabel("自己编写的记事本");
JLabellabel2=newJLabel("作者:
黄德贵");
JLabellabel3=newJLabel("电子邮箱:
214783803@");
GridBagLayoutlayout=newGridBagLayout();
about.setLayout(layout);
GridBagConstraintsn1=newGridBagConstraints();
n1.gridx=0;
n1.gridy=0;
n1.gridwidth=10;
n1.gridheight=10;
n1.anchor=GridBagConstraints.WEST;
GridBagConstraintsn2=newGridBagConstraints();
n2.gridx=0;
n2.gridy=15;
n2.gridwidth=10;
n2.gridheight=10;
n2.anchor=GridBagConstraints.WEST;
GridBagConstraintsn3=newGridBagConstraints();
n3.gridx=0;
n3.gridy=25;
n3.gridwidth=10;
n3.gridheight=10;
n3.anchor=GridBagConstraints.WEST;
layout.setConstraints(label1,n1);
layout.setConstraints(label2,n2);
layout.setConstraints(label3,n3);
about.add(label1);
about.add(label2);
about.add(label3);
about.setSize(200,100);
about.setLocation(300,200);
about.setVisible(true);
about.setResizable(false);
}
elseif(source==timeDate)
{
DatenowTime=newDate();
SimpleDateFormattimes=newSimpleDateFormat("yyyy年MM月dd日HH:
mm");
text.insert(times.format(nowTime),text.getCaretPosition());
}
elseif(source==color)
{
Colorcolor=JColorChooser.showDialog(text,"选择颜色",Color.BLACK);
text.setForeground(color);
}
}
}
classListen1implementsActionListener
{
publicvoidactionPerformed(ActionEvente)
{
Objectsource=e.getSource();
if(source==open)
{
FileDialogopenFile=newFileDialog(th,"打开文件...",FileDialog.LOAD);
openFile.setVisible(true);
StringfilePath=openFile.getDirectory()+openFile.getFile();
try
{
FileInputStreamfis=newFileInputStream(filePath);
byte[]content=newbyte[fis.available()];
fis.read(content);
text.setText(newString(content));
text.setCaretPosition(0);
if(openFile.getFile()!
=null)
{
th.setTitle(openFile.getFile()+name);
openedPath=filePath;
opened=true;
}
fis.close();
}
catch(Exceptionex)
{
ex.printStackTrace();
}
opened=true;
}
elseif(source==save||source==saveAs)
{
StringsavePath=openedPath;
if(savePath==null||source==saveAs)
{
FileDialogsaveFile=newFileDialog(th,"保存文件...",FileDialog.SAVE);
saveFile.setVisible(true);
savePath=saveFile.getDirectory()+saveFile.getFile();
}
try
{
FileOutputStreamfos=newFileOutputStream(savePath);
fos.write(text.getText().getBytes());
fos.close();
}
catch(Exceptionex)
{
ex.printStackTrace();
}
if(source==save)
openedPath=savePath;
}
elseif(source==find||source==findNext)
{
JFramefind=newJFrame("查找");
JLabellabel=newJLabel("查找内容");
finalJTextFieldtext1=newJTextField(10);
JButtonbutton=newJButton("查找");
find.setLayout(newFlowLayout());
find.add(label);
find.add(text1);
find.add(button);
find.setSize(300,90);
find.setLocation(300,200);
find.setVisible(true);
find.setResizable(false);
button.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
Stringsrc=text1.getText();
Stringdesc=text.getText();
if(desc.indexOf(src)==-1)
{
JFrameresult=newJFrame("查找失败");
JLabellabel=newJLabel("未找到查询结果");
res