📄 记事本.java
字号:
查找下一个.addActionListener(this);
替换.addActionListener(this);
转到.addActionListener(this);
全选.addActionListener(this);
时间.addActionListener(this);
自动换行.addActionListener(this);
字体.addActionListener(this);
颜色.addActionListener(this);
状态栏.addActionListener(this);
查看帮助.addActionListener(this);
关于记事本.addActionListener(this);
MenuShortcut shortcut=new MenuShortcut(KeyEvent.VK_N);
新建.setShortcut(shortcut);
MenuShortcut shortcut1=new MenuShortcut(KeyEvent.VK_O);
打开.setShortcut(shortcut1);
MenuShortcut shortcut2=new MenuShortcut(KeyEvent.VK_S);
保存.setShortcut(shortcut2);
MenuShortcut shortcut3=new MenuShortcut(KeyEvent.VK_P);
打印.setShortcut(shortcut3);
MenuShortcut shortcut4=new MenuShortcut(KeyEvent.VK_Z);
撤销.setShortcut(shortcut4);
MenuShortcut shortcut5=new MenuShortcut(KeyEvent.VK_X);
剪切.setShortcut(shortcut5);
MenuShortcut shortcut6=new MenuShortcut(KeyEvent.VK_C);
复制.setShortcut(shortcut6);
MenuShortcut shortcut7=new MenuShortcut(KeyEvent.VK_V);
粘贴.setShortcut(shortcut7);
MenuShortcut shortcut8=new MenuShortcut(KeyEvent.VK_F);
查找.setShortcut(shortcut8);
MenuShortcut shortcut9=new MenuShortcut(KeyEvent.VK_H);
替换.setShortcut(shortcut9);
MenuShortcut shortcut10=new MenuShortcut(KeyEvent.VK_G);
转到.setShortcut(shortcut10);
MenuShortcut shortcut11=new MenuShortcut(KeyEvent.VK_A);
全选.setShortcut(shortcut11);
MenuShortcut shortcut12=new MenuShortcut(KeyEvent.VK_F5);
时间.setShortcut(shortcut12);
MenuShortcut shortcut13=new MenuShortcut(KeyEvent.VK_F3);
查找下一个.setShortcut(shortcut13);
MenuShortcut shortcut14=new MenuShortcut(KeyEvent.VK_DELETE);
删除.setShortcut(shortcut14);
dialog=new myDialog(this,"记事本",true);
dialog.setSize(200,100);
file_load=new FileDialog(this,"打开",FileDialog.LOAD);
file_load.setVisible(false);
file_save=new FileDialog(this,"另存为",FileDialog.SAVE);
file_save.setVisible(false);
dim=this.getToolkit().getScreenSize();
this.setBounds(300,400,dim.width/3,dim.height/3);
this.setVisible(true);
text=new JTextArea();
text.setLineWrap(true);
scroll=new JScrollPane(text);
this.add(scroll,BorderLayout.CENTER);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
this.validate();
this.pack();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==新建)
{
if(text.getText()==null)
{
text.setText(null);
}
else
{
dialog.setVisible(true);
if(dialog.getMessage()==myDialog.YES)
{
file_save.setVisible(true);
if(file_save.getFile()!=null)
{
try
{
File file=new File(file_save.getDirectory(),file_save.getFile());
tofile=new FileWriter(file);
out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText().length()));
text.setText(null);
out.flush();
out.close();
tofile.close();
}
catch(IOException exp){}
}
}
else if(dialog.getMessage()==myDialog.NO)
{
text.setText(null);
}
else if(dialog.getMessage()==myDialog.OR)
{
text.setText(text.getText());
}
}
}
else if(e.getSource()==打开)
{
file_load.setVisible(true);
text.setText(null);
String s;
if(file_load.getFile()!=null)
{
try
{
File file=new File(file_load.getDirectory(),file_load.getFile());
file_reader=new FileReader(file);
in=new BufferedReader(file_reader);
while((s=in.readLine())!=null)
{
text.append(s+'\n');
}
in.close();
file_reader.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==保存)
{
file_save.setVisible(true);
if(file_save.getFile()!=null)
{
try
{
File file=new File(file_save.getDirectory(),file_save.getFile());
tofile=new FileWriter(file);
out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText().length()));
out.flush();
out.close();
tofile.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==另存为)
{
file_save.setVisible(true);
if(file_save.getFile()!=null)
{
try
{
File file=new File(file_save.getDirectory(),file_save.getFile());
tofile=new FileWriter(file);
out=new BufferedWriter(tofile);
out.write(text.getText(),0,(text.getText().length()));
out.flush();
out.close();
tofile.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==退出)
{
System.exit(0);
}
else if(e.getSource()==剪切)
{
String temp=text.getSelectedText();
StringSelection text1=new StringSelection(temp);
clipboard.setContents(text1,null);
int start=text.getSelectionStart();
int end=text.getSelectionEnd();
text.replaceRange("",start,end);
}
else if(e.getSource()==复制)
{
String temp=text.getSelectedText();
StringSelection text1=new StringSelection(temp);
clipboard.setContents(text1,null);
}
else if(e.getSource()==粘贴)
{
Transferable contents=clipboard.getContents(this);
DataFlavor flavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
{
try
{
String str=(String)contents.getTransferData(flavor);
int a=text.getCaretPosition();
text.insert(str,a);
}
catch(Exception ee){}
}
}
else if(e.getSource()==删除)
{
String temp=text.getSelectedText();
int start=text.getSelectionStart();
int end=text.getSelectionEnd();
text.replaceRange("",start,end);
}
else if(e.getSource()==时间)
{
Date date=new Date();
String s=date.toString();
text.setText(s);
}
else if(e.getSource()==全选)
{
text.selectAll();
}
else if(e.getSource()==字体)
{
字体1 ziti=new 字体1(this,"字体(F)",true);
ziti.setVisible(true);
if(ziti.i1==0)
{Font f=new Font(ziti.name,Font.BOLD,ziti.大小1);
text.setFont(f);}
else if(ziti.i1==1)
{
Font f=new Font(ziti.name,Font.PLAIN,ziti.大小1);
text.setFont(f);
}
else if(ziti.i1==2)
{
Font f=new Font(ziti.name,Font.ITALIC,ziti.大小1);
text.setFont(f);
}
else if(ziti.i1==3)
{
Font f=new Font(ziti.name,Font.HANGING_BASELINE,ziti.大小1);
text.setFont(f);
}
else if(ziti.i1==4)
{
Font f=new Font(ziti.name,Font.ROMAN_BASELINE,ziti.大小1);
text.setFont(f);
}
else if(ziti.i1==5)
{
Font f=new Font(ziti.name,Font.CENTER_BASELINE,ziti.大小1);
text.setFont(f);
}
else if(ziti.i1==6)
{
Font f=new Font(ziti.name,Font.TRUETYPE_FONT,ziti.大小1);
text.setFont(f);
}
}
else if(e.getSource()==颜色)
{
Color newColor=JColorChooser.showDialog(this, "调色板", text.getBackground());
text.setBackground(newColor);
}
else if(e.getSource()==打印)
{
PrintJob p=this.getToolkit().getPrintJob(this,"ok", null);
Graphics g=p.getGraphics();
text.printAll(g);
g.dispose();
p.end();
}
else if(e.getSource()==替换)
{
替换Dialog d1=new 替换Dialog(this,"替换",true);
d1.setVisible(true);
if(d1.returnMessage()==替换Dialog.AND)
{
String s=d1.text1.getText().toString();
String s1=d1.text2.getText().toString();
String s2=text.getText().toString();
int a=d1.text1.getText().length();
for(int i=0;i<text.getText().length();i++)
{
if(s2.regionMatches(i, s, 0, a))
{
text.replaceRange(s1,i,i+a);
}
}
}
else if(d1.returnMessage()==替换Dialog.OR)
{
}
else if(d1.returnMessage()==替换Dialog.YES)
{
String s=d1.text1.getText().toString();
String s2=text.getText().toString();
int a=d1.text1.getText().length();
int a1=text.getSelectionStart();
for(int i=a1+a;i<text.getText().length();i++)
{
if(s2.regionMatches(i, s, 0, a))
{
text.setSelectionStart(i);
text.setSelectionEnd(i+a);
break;
}
}
}
else if(d1.returnMessage()==替换Dialog.NO)
{
String s=d1.text1.getText().toString();
String s1=d1.text2.getText().toString();
String s2=text.getText().toString();
int a=d1.text1.getText().length();
int a1=text.getSelectionStart();
text.replaceRange(s1,a1,a1+a);
for(int i=a1+a;i<text.getText().length();i++)
{
if(s2.regionMatches(i, s, 0, a))
{
text.setSelectionStart(i);
text.setSelectionEnd(i+a);
break;
}
}
}
}
else if(e.getSource()==查找)
{
查找Dialog d2=new 查找Dialog(this,"查找",true);
d2.setVisible(true);
String s=d2.text.getText().toString();
String s2=text.getText().toString();
int a1=text.getSelectionStart();
int a=d2.text.getText().length();
if(d2.returnm()==查找Dialog.YES&&d2.box1.getState())
{
for(int i=a1-a;i>=0;i--)
{
if(s2.regionMatches(i, s, 0, a))
{
text.setSelectionStart(i);
text.setSelectionEnd(i+a);
break;
}
}
}
else if(d2.returnm()==查找Dialog.YES&&d2.box2.getState())
{
for(int i=a1+a;i<text.getText().length();i++)
{
if(s2.regionMatches(i, s, 0, a))
{
text.setSelectionStart(i);
text.setSelectionEnd(i+a);
break;
}
}
}
else if(d2.returnm()==查找Dialog.NO){}
}
else if(e.getSource()==查找下一个)
{
String s2=text.getText().toString();
String s=text.getSelectedText();
int a=text.getSelectedText().length();
int a1=text.getSelectionStart();
for(int i=a1+a;i<text.getText().length();i++)
{
if(s2.regionMatches(i, s, 0, a))
{
text.setSelectionStart(i);
text.setSelectionEnd(i+a);
break;
}
}
}
}
}
public class 记事本
{public static void main(String args[])
{
new myFrame();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -