📄 txt.java
字号:
import java.lang.*;
import java.awt.*;
import java.io.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import javax.swing.*;
// import com.borland.dbswing.FontChooser;
public class Txt extends JFrame implements ActionListener
{
private MenuItem filenew=new MenuItem("新建");
private MenuItem fileopen=new MenuItem("打开");
private MenuItem filesave=new MenuItem("保存");
private MenuItem filesaveas=new MenuItem("存为");
private MenuItem fileexit=new MenuItem("退出");
private MenuItem editselectall=new MenuItem("全选");
private MenuItem editcopy=new MenuItem("复制");
private MenuItem editcut=new MenuItem("剪切");
private MenuItem editpaste=new MenuItem("粘贴");
private MenuItem filehelp=new MenuItem("帮助");
private MenuItem fondfile=new MenuItem("字体");
private MenuItem shape=new MenuItem("状态");
private TextArea area=new TextArea();
String fileName = null;
Toolkit toolKit=Toolkit.getDefaultToolkit();
Clipboard clipBoard=toolKit.getSystemClipboard();
int receiveReturnPara;
// MyActions MA =new MyActions();
// receiveReturnPara = MA.fileNotSaveMessage();
/* JButton bt=new JButton("Show Text Input");
bt.addActionListener(this);
bt=new JButton("Show ComboBox Input");
bt.addActionListener(this);*/
JOptionPane msgbox = new JOptionPane();
// FontChooser fontfile = new FontChooser();
JFrame frame = new JFrame("记事本");
private FileDialog openFileDialog= new FileDialog(this,"打开文件",FileDialog.LOAD);
private FileDialog saveAsFileDialog=new FileDialog(this,"文件存为",FileDialog.SAVE);
private class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent we)
{ System.exit(0);}
}
private void setup()
{
Menu file=new Menu("文件");
file.add(filenew); filenew.addActionListener(this);
file.add(fileopen); fileopen.addActionListener(this);
file.add(filesave); filesave.addActionListener(this);
file.add(filesaveas); filesaveas.addActionListener(this);
file.addSeparator();
file.add(fileexit); fileexit.addActionListener(this);
Menu edit=new Menu("编辑");
edit.add(editselectall); editselectall.addActionListener(this);
edit.addSeparator();
edit.add(editcopy); editcopy.addActionListener(this);
edit.add(editcut); editcut.addActionListener(this);
edit.add(editpaste); editpaste.addActionListener(this);
Menu help=new Menu("帮助");
help.add(filehelp); filehelp.addActionListener(this);
Menu format=new Menu("格式");
format.add(fondfile); fondfile.addActionListener(this);
Menu view=new Menu("查看");
view.add(shape); shape.addActionListener(this);
MenuBar bar=new MenuBar();
bar.add(file);
bar.add(edit);
bar.add(help);
bar.add(format);
bar.add(view);
setMenuBar(bar);
setLayout(new BorderLayout());
add("Center",area);
}
public Note()
{
super("记事本");
setup();
addWindowListener(new WindowCloser());
setSize(500,500);
show();
}
public void actionPerformed(ActionEvent e)
{
boolean isFileSave = false;
if(e.getSource()==filenew)
{
// 如果没有保存,则在新建文件时候询问
if(isFileSave==true) {
int result=msgbox.showConfirmDialog(this,"您需要保存当前文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
switch (result){
case 0:
saveAsFileDialog.show();
fileName=saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if(fileName != null)
writeFile(fileName);
area.setText("");
break;
case 1:
area.setText("");
break;
case 2:
msgbox.setVisible(false);
break;
}
}
else area.setText("");
}
if(e.getSource()==filehelp)
{
JOptionPane.showConfirmDialog(null,
"记事本 ====\n胡国旺",
"关于",JOptionPane.CLOSED_OPTION);
}
/* if (e.getSource()==fondfile)
{
fondfile..showDialog();
Font tem=fontfile.getSelectedFont();
if (tem!=null)
arecontents.setFont(tem);
}
*/
if(e.getSource()==fileopen)
{
if(isFileSave==true){
int result=msgbox.showConfirmDialog(this,"您需要保存当前文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
switch (result){
case 0:
saveAsFileDialog.show();
fileName=saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if(fileName != null)
writeFile(fileName);
area.setText("");
break;
case 1:
area.setText("");
break;
case 2:
msgbox.setVisible(false);
break;
}}
openFileDialog.show();
fileName=openFileDialog.getDirectory()+openFileDialog.getFile();
if(fileName != null)
readFile(fileName);
}
if(e.getSource()==filesave)
{
isFileSave=true;
saveAsFileDialog.show();
fileName=saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if(fileName != null)
writeFile(fileName);
}
if(e.getSource()==filesaveas)
{
if(isFileSave==true){
int result=msgbox.showConfirmDialog(this,"您需要保存当前文件吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
switch (result){
case 0:
saveAsFileDialog.show();
fileName=saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if(fileName != null)
writeFile(fileName);
area.setText("");
break;
case 1:
area.setText("");
break;
case 2:
msgbox.setVisible(false);
break;
}
}
else
{
isFileSave=false;
saveAsFileDialog.show();
fileName=saveAsFileDialog.getDirectory()+saveAsFileDialog.getFile();
if(fileName != null)
writeFile(fileName);
} //readFile(fileName);
}
if(e.getSource()==fileexit)
System.exit(0);
if(e.getSource()==editselectall)
area.selectAll();
if(e.getSource()==editcopy)
{
String text=area.getSelectedText();
StringSelection selection=new StringSelection(text);
clipBoard.setContents(selection,null);
}
if(e.getSource()==editcut)
{
String text=area.getSelectedText();
StringSelection selection=new StringSelection(text);
clipBoard.setContents(selection,null);
area.replaceRange("",area.getSelectionStart(),area.getSelectionEnd());
}
if(e.getSource()==editpaste)
{
Transferable contents=clipBoard.getContents(this);
if(contents==null) return;
String text;
text="";
try{
text=(String)contents.getTransferData(DataFlavor.stringFlavor);
}catch(Exception exception){
}
area.replaceRange(text,area.getSelectionStart(),area.getSelectionEnd());
}
}
public void readFile(String fileName)
{
area.setText("");
try{
BufferedReader in=new BufferedReader(new FileReader(fileName));
String line;
while((line=in.readLine())!=null)
area.append(line+"\n");
in.close();
area.setCaretPosition(0);
}catch(IOException e){
System.out.println("打开文件错误");
}
}
public void writeFile(String fileName)
{
try{
File file = new File (fileName);
FileWriter writeOut = new FileWriter(file);
writeOut.write(area.getText());
writeOut.close();
}catch(IOException e){
System.out.println("写文件错误");
}
}
public static void main(String srgs[])
{
Note f=new Note();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -