DOC

java

By Tommy Perry,2014-05-17 18:27
9 views 0
java

import java.awt.*;

    import java.awt.event.*; import javax.swing.*;

    import java.io.*;

    class TextEditorFrame extends JFrame{

     File file=null;

     Color color=Color.red;

     TextEditorFrame(){

     initTextPane();

     initAboutDialog();

     initToolBar();

     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("帮助")

     };

     JMenuItem menuitems[][]=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(){ //when here have not wrong:

     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("color")){

     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("作者;梁佳:记事本Q1.0版本"));

     about.setModal(true);

     about.setSize(200,100);

     }

     JToolBar toolbar=new JToolBar();//我来加上工具条

     JButton [] buttons=new JButton[]{

     new JButton("", new ImageIcon("qin.jpg")),

     new JButton("", new ImageIcon("shu.jpg")),

     new JButton("", new ImageIcon("xin.jpg"))

     };

     void initToolBar(){

     for(int i=0;i<buttons.length;i++)

     toolbar.add(buttons[i]);

     buttons[0].setToolTipText("复制");

     buttons[0].addActionListener(new ActionListener(){

     public void actionPerformed(ActionEvent e){

     text.copy();

     }

     });

     buttons[1].setToolTipText("剪切");

     buttons[1].addActionListener(new ActionListener(){

     public void actionPerformed(ActionEvent e){

     text.cut();

     }

     });

     buttons[2].setToolTipText("粘贴");

     buttons[2].addActionListener(new ActionListener(){

     public void actionPerformed(ActionEvent e){

     text.paste();

     }

     });

     this.getContentPane().add(toolbar,BorderLayout.NORTH);

     }

     }

     public class F{

     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(800,600);

     f.show();

     }

     }

Report this document

For any questions or suggestions please email
cust-service@docsford.com