import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*;
import java.awt.font.*;
import java.io.*; 
class TextEditorFrame extends JFrame{ 
File file=null;
Font font;
Color color=Color.red; TextEditorFrame(){ 
initTextPane(); 
initAboutDialog();  
initMenu(); 

void initTextPane(){ 
getContentPane().add(new JScrollPane(text)); 
} JTextPane text=new JTextPane(); //这是用来做文本框的 
JFileChooser filechooser=new JFileChooser(); //文件选择框 
JColorChooser colorchooser=new JColorChooser();//
JDialog about=new JDialog(this); //关于对话框 
JMenuBar menubar=new JMenuBar();//菜单 
JMenu[] menus=new JMenu[]{ 
new JMenu("文件"), 
new JMenu("编辑"), 
new JMenu("格式"),
new JMenu("帮助")
}; JMenuItem menuitems[][]=new JMenuItem[][]{{ 
new JMenuItem("新建"), 
new JMenuItem("打开"), 
new JMenuItem("保存"), 
new JMenuItem("退出") 
}, { new JMenuItem("复制"), 
new JMenuItem("剪切"), 
new JMenuItem("粘贴"), 
new JMenuItem("颜色") 
}, { new JMenuItem("字体"), 
new JMenuItem("颜色") 
},

new JMenuItem("关于") 
}
}; 
void initMenu(){ for(int i=0;i<menus.length;i++){ 
menubar.add(menus[i]); 
for(int j=0;j<menuitems[i].length;j++){ 
menus[i].add(menuitems[i][j]); 
menuitems[i][j].addActionListener( action ); 


this.setJMenuBar(menubar); 

ActionListener action=new ActionListener(){  
public void actionPerformed(ActionEvent e){ 
JMenuItem mi=(JMenuItem)e.getSource(); 
String id=mi.getText(); 
if(id.equals("新建")){ 
text.setText(""); 
file=null; 
}else if(id.equals("打开")){ 
if(file !=null)filechooser.setSelectedFile(file); 
int returnVal=filechooser.showOpenDialog(TextEditorFrame.this); 
if(returnVal==JFileChooser.APPROVE_OPTION){ file=filechooser.getSelectedFile(); 
openFile(); 
} }else if(id.equals("保存")){ 
if(file!=null) filechooser.setSelectedFile(file); 
int returnVal=filechooser.showSaveDialog(TextEditorFrame.this); 
if(returnVal==JFileChooser.APPROVE_OPTION){ 
file=filechooser.getSelectedFile(); 
saveFile(); 
} }else if(id.equals("退出")){ 
TextEditorFrame f=new TextEditorFrame(); 
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_CANCEL_OPTION); 
if(s==JOptionPane.YES_OPTION) 
System.exit(0); 
}else if(id.equals("剪切")){ 
text.cut(); 
}else if(id.equals("复制")){ 
text.copy(); 
}else if(id.equals("粘贴")){ 
text.paste(); 
}else if(id.equals("字体")){

}else if(id.equals("颜色")){ 
color=JColorChooser.showDialog(TextEditorFrame.this,"",color); 
text.setForeground(color); }else if(id.equals("关于")){ 
about.setSize(200,150); 
about.show(); 


}; 
void saveFile(){ 
try{ 
FileWriter fw=new FileWriter(file); 
fw.write(text.getText()); 
fw.close(); 

catch(Exception e){e.printStackTrace();} } void openFile(){ 
try{ 
FileReader fr=new FileReader(file); 
int len=(int)file.length(); 
char []buffer=new char[len]; 
fr.read(buffer,0,len); 
fr.close(); 
text.setText(new String(buffer)); 
}catch(Exception e){e.printStackTrace();} 
} void initAboutDialog(){ 
about.getContentPane().add(new JLabel("作者-:记事本")); 
about.getContentPane().add(new JLabel("www.163.com"));
about.setModal(true); 
about.setSize(200,100); 
}  

public class jsb{ 
public static void main(String args[]){ TextEditorFrame f=new TextEditorFrame(); f.addWindowListener(new WindowAdapter(){ 
public void windowClosing(WindowEvent e) { 
TextEditorFrame f=new TextEditorFrame(); 
int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_OPTION); 
if(s==JOptionPane.YES_OPTION) 
System.exit(0);} 
}); 
f.setTitle("简单的记事本"); 
f.setSize(500,400); 
f.show(); 

}