| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 774 人关注过本帖
标题:哪位高手可以写出下列Java程序的代码
只看楼主 加入收藏
xuming
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-11-24
结帖率:0
收藏
 问题点数:0 回复次数:3 
哪位高手可以写出下列Java程序的代码
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.awt.*;
import *;
import javax.swing.text.Document;
public class TextEditor extends JFrame{
  JDesktopPane desktopPane;
  //定义菜单组件
  JMenuBar menuBar;
  JMenu fileMenu,helpMenu;//定义文件菜单、帮助菜单
  JMenuItem newItem,openItem,saveItem,othersaveItem,closeItem,exitItem;
  //定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单项、//退出菜单项
  JMenuItem aboutItem;//定义帮助菜单的:关于菜单项
  StringBuffer buffer=new StringBuffer();//定义一个字符串缓冲区;
  File currentFile;//当前处理的文件;
  int status;//记录当前状态0:新建、1:打开、2:保存、3:另存;4:关闭;
  DisplayFrame currentFrame;//当前打开的窗口
  
  public TextEditor() {
  super("文本编辑器");
  Container container=getContentPane();
  desktopPane=new JDesktopPane();
  container.add(desktopPane);
  createMenu();
  setJMenuBar(menuBar);
  }
  public void createMenu(){
    //定义菜单条;
    menuBar=new JMenuBar();
    //定义文件菜单
    fileMenu=new JMenu("文件");
    //定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单
//退出菜单项
    //定义新建菜单项
    newItem=new JMenuItem("新建");
    newItem.addActionListener(new NewFileListener());
    //定义打开菜单项
    openItem=new JMenuItem("打开");
openItem.addActionListener(new OpenFileListener());

    saveItem=new JMenuItem("保存");
saveItem.addActionListener(new SaveFileListener());

    othersaveItem=new JMenuItem("另存为");
othersaveItem.addActionListener(new OtherSaveFileListener());

    closeItem=new JMenuItem("关闭");
    closeItem.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
       if(e.getSource()==closeItem){
       currentFrame.dispose();
       }
     }
    });
  
    exitItem=new JMenuItem("退出");
    exitItem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.exit(0);
      }
    });
    //添加菜单项到文件菜单中;
    fileMenu.add(newItem);
    fileMenu.add(openItem);
    fileMenu.addSeparator();
    fileMenu.add(saveItem);
    fileMenu.add(othersaveItem);
    fileMenu.addSeparator();
    fileMenu.add(closeItem);
    fileMenu.add(exitItem);

    //定义帮助菜单
    helpMenu=new JMenu("帮助");
    //定义帮助菜单的:关于菜单项
    aboutItem=new JMenuItem("关于");
    aboutItem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        if(e.getSource()==aboutItem){
         JOptionPane.showMessageDialog(null,"TextEditor 1.1",
"版本",JOptionPane.INFORMATION_MESSAGE);
        }
      }
    });
    //添加菜单项到帮助菜单中;
    helpMenu.add(aboutItem);

    //将文件菜单和帮助菜单加入到菜单条中;
    menuBar.add(fileMenu);
    menuBar.add(helpMenu);
  }//end createMenu method;

  public File chooseFile(int chooseMode){
    //从选择文件对话框中选择文件,chooseMode为选择模式
    //1:为文件打开对话框模式,2:为文件保存对话框模式;
   JFileChooser filechooser=new JFileChooser();
   filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
   int result=0;
   switch(chooseMode){
     case 1:
       result =代码1;
//按照文件打开对话框模式选择文件
       break;
     case 2:
        result=代码2;
      //按照文件保存对话框模式选择文件
        break;
   }
   if(result==filechooser.CANCEL_OPTION) return null;
   File fileName= filechooser.代码3;//从对话框中选择文件,赋值给fileName;
   return fileName;//返回选定的文件;
  }
  
  public void saveFile(File file,int saveMode) throws IOException{
    //保存文件fileName,saveMode是保存文件模式:
    //1:新建文件的保存;2:将修改的已有文件保存;   
    File fileName=null;
    switch(saveMode){
      case 0:fileName=chooseFile(2);
             if(fileName.createNewFile()!=true) return;
             break;
      case 1:fileName=file;break;
      default:return;
    }   
    currentFile=fileName;
    if(fileName.exists()!=true) return;//文件不存在,则返回;
      BufferedWriter input=new BufferedWriter(new FileWriter (fileName));
      //将文件fileName写入到字符缓冲写入器input中;
      input.write(buffer.toString(),0,buffer.length()-1);
//将buffer字符串写入到字符缓冲写入器input中
      System.err.println(buffer.length());
      if(input!=null)
         input.close();
     status=1;
  }
  
  public void showFile(File fileName,DisplayFrame contentFrame){
    //将指定文件fileName的内容在窗口contentFrame内显示出来。
    try{
       BufferedReader output=new BufferedReader(new FileReader (fileName));//代码五
       //将文件fileName读到字符缓冲读取器output中;
       String text;
       buffer=new StringBuffer();
       while((text=output.readLine())!=null)//依次访问文件的每一行;
           buffer.append(text+"\n");//将每一行添加到buffer中;

       contentFrame.displayArea.setText(buffer.toString());
    //将buffer的字符串在contentFrame窗口中显示出来;
       contentFrame.setTitle(fileName.getName());//改变窗口的标题;
       output.close();//关闭字符缓冲流output;
       }
       catch(IOException ex){
         JOptionPane.showMessageDialog(null,"错误发生!");
       }
       catch(NullPointerException ex3){
         JOptionPane.showMessageDialog(null,"警告!");
       }
  }
  
  public static void main(String[] args) {
    TextEditor texteditor = new TextEditor();
    texteditor.setSize(400,300);
    texteditor.setVisible(true);
    texteditor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }//end main
  
  class NewFileListener implements ActionListener{
  public void actionPerformed(ActionEvent e){//新建
        DisplayFrame txtFrame=new DisplayFrame();
        currentFrame=txtFrame;
txtFrame.setTitle("新建文件");
        desktopPane.add(txtFrame);
        status=0;
  }
}//end class newFileListener;

class OpenFileListener implements ActionListener{
   public void actionPerformed(ActionEvent e){//打开文件监视接口;
   File fileName=chooseFile(1);//打开模式打开文件;
   currentFile=fileName;
  try{
   if(fileName.exists()){
    DisplayFrame contentFrame=new DisplayFrame();
    currentFrame=contentFrame;
    desktopPane.add(contentFrame);
    showFile(fileName,contentFrame);
      }//end if
      status=1;
   }catch(Exception ex){}
   }//end actionPerformed
   }//end class openFileListener;

   class SaveFileListener implements ActionListener{
     public void actionPerformed(ActionEvent e){//保存处理
       if (e.getSource() == saveItem) {
         try {
           saveFile(currentFile, status);
         }
         catch (IOException ex) {
           JOptionPane.showMessageDialog(null, "保存文件失败!!!!");
         }
         catch(Exception ex){ }
       }
     }
   }//end class SaveFileListener;
   
  class OtherSaveFileListener implements ActionListener{
    public void actionPerformed(ActionEvent e){//另存处理;
      if(e.getSource()==othersaveItem){
      File fileName=chooseFile(2);
      BufferedWriter output=null;
      BufferedReader input=null;
      try{
          if(fileName.exists()!=true) fileName.createNewFile();
          input = new BufferedReader(new FileReader(currentFile));
          output = new BufferedWriter(new FileWriter(fileName));         
          String ch;
          while ((ch=input.readLine())!=null) {
             output.write(ch);
            output.newLine();
          }
          input.close();
          output.close();
          currentFrame.dispose();//将源文件显示窗口关闭;
          DisplayFrame contentFrame=new DisplayFrame();
          desktopPane.add(contentFrame);//创建新的显示窗口;
          currentFrame=contentFrame;//新窗口设置为当前显示窗口;
          currentFile=fileName;
          showFile(fileName,contentFrame);
//在窗口contentFrame中显示文件fileName;
       }catch(IOException ex){
        JOptionPane.showMessageDialog(null,"文件另存失败!!!!");
      }
     }//end outer if
    }//end actionPerformed method;
  }//end class OtherSaveListener;
  
  class DisplayFrame extends JInternalFrame implements DocumentListener{
   JTextArea displayArea;
   public DisplayFrame() {
   super("文本内容:", true, true, true, true);
   displayArea = new JTextArea(8, 30);
   displayArea.getDocument().addDocumentListener(this);
   getContentPane().add(displayArea);
   pack();
   setVisible(true);
  }
  public void insertUpdate(DocumentEvent e) {
   buffer=new StringBuffer(displayArea.getText());
   displayArea.setCaretPosition(displayArea.getDocument().getLength());
  }
  public void removeUpdate(DocumentEvent e) {
   buffer=new StringBuffer(displayArea.getText());
   displayArea.setCaretPosition(displayArea.getDocument().getLength());
  }
  public void changedUpdate(DocumentEvent e) {
   //Plain text components don't fire these events.
   }
  }//end DisplayFrame.java
}//end class TextEditor.java

搜索更多相关主题的帖子: Java 代码 
2010-05-25 21:49
xuming
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2009-11-24
收藏
得分:0 
这个论坛中难道没有高手可以写出这三个代码,望哪位高手可以尽快帮我写出搞定这个,感激不尽。
2010-05-26 19:15
pigpigpigxk
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:26
专家分:109
注 册:2010-5-27
收藏
得分:0 
不明白你说什么。
2010-05-27 22:54
giaju
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-11-29
收藏
得分:0 
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.awt.*;
import *;
import javax.swing.text.Document;
public class TextEditor extends JFrame{
  JDesktopPane desktopPane;
  //定义菜单组件
  JMenuBar menuBar;
  JMenu fileMenu,helpMenu;//定义文件菜单、帮助菜单
  JMenuItem newItem,openItem,saveItem,othersaveItem,closeItem,exitItem;
  //定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单项、//退出菜单项
  JMenuItem aboutItem;//定义帮助菜单的:关于菜单项
  StringBuffer buffer=new StringBuffer();//定义一个字符串缓冲区;
  File currentFile;//当前处理的文件;
  int status;//记录当前状态0:新建、1:打开、2:保存、3:另存;4:关闭;
  DisplayFrame currentFrame;//当前打开的窗口
  
  public TextEditor() {
  super("文本编辑器");
  Container container=getContentPane();
  desktopPane=new JDesktopPane();
  container.add(desktopPane);
  createMenu();
  setJMenuBar(menuBar);
  }
  public void createMenu(){
    //定义菜单条;
    menuBar=new JMenuBar();
    //定义文件菜单
    fileMenu=new JMenu("文件");
    //定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单
//退出菜单项
    //定义新建菜单项
    newItem=new JMenuItem("新建");
    newItem.addActionListener(new NewFileListener());
    //定义打开菜单项
    openItem=new JMenuItem("打开");
openItem.addActionListener(new OpenFileListener());

    saveItem=new JMenuItem("保存");
saveItem.addActionListener(new SaveFileListener());

    othersaveItem=new JMenuItem("另存为");
othersaveItem.addActionListener(new OtherSaveFileListener());

    closeItem=new JMenuItem("关闭");
    closeItem.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
       if(e.getSource()==closeItem){
       currentFrame.dispose();
       }
     }
    });  
    exitItem=new JMenuItem("退出");
    exitItem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.exit(0);
      }
    });
    //添加菜单项到文件菜单中;
    fileMenu.add(newItem);
    fileMenu.add(openItem);
    fileMenu.addSeparator();
    fileMenu.add(saveItem);
    fileMenu.add(othersaveItem);
    fileMenu.addSeparator();
    fileMenu.add(closeItem);
    fileMenu.add(exitItem);

    //定义帮助菜单
    helpMenu=new JMenu("帮助");
    //定义帮助菜单的:关于菜单项
    aboutItem=new JMenuItem("关于");
    aboutItem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        if(e.getSource()==aboutItem){
         JOptionPane.showMessageDialog(null,"TextEditor 1.1",
"版本",JOptionPane.INFORMATION_MESSAGE);
        }
      }
    });
    //添加菜单项到帮助菜单中;
    helpMenu.add(aboutItem);

    //将文件菜单和帮助菜单加入到菜单条中;
    menuBar.add(fileMenu);
    menuBar.add(helpMenu);
  }//end createMenu method;

  public File chooseFile(int chooseMode){
    //从选择文件对话框中选择文件,chooseMode为选择模式
    //1:为文件打开对话框模式,2:为文件保存对话框模式;
   JFileChooser filechooser=new JFileChooser();
   filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
   int result=0;
   switch(chooseMode){
     case 1:
       result =filechooser.showOpenDialog(currentFrame);//按照文件打开对话框模式选择文件
       break;
     case 2:
        result=filechooser.showSaveDialog(currentFrame);//按照文件保存对话框模式选择文件
        break;
   }
   if(result==filechooser.CANCEL_OPTION) return null;
   File fileName=filechooser.getSelectedFile();//从对话框中选择文件,赋值给fileName;
   return fileName;//返回选定的文件;
  }
  
  public void saveFile(File file,int saveMode) throws IOException{
    //保存文件fileName,saveMode是保存文件模式:
    //1:新建文件的保存;2:将修改的已有文件保存;   
    File fileName=null;
    switch(saveMode){
      case 0:fileName=chooseFile(2);
             if(fileName.createNewFile()!=true) return;
             break;
      case 1:fileName=file;break;
      default:return;
    }   
    currentFile=fileName;
    if(fileName.exists()!=true) return;//文件不存在,则返回;
      BufferedWriter input=new BufferedWriter(new FileWriter (fileName));
      //将文件fileName写入到字符缓冲写入器input中;
      input.write(buffer.toString(),0,buffer.length()-1);
//将buffer字符串写入到字符缓冲写入器input中
      System.err.println(buffer.length());
      if(input!=null)
         input.close();
     status=1;
  }
  
  public void showFile(File fileName,DisplayFrame contentFrame){
    //将指定文件fileName的内容在窗口contentFrame内显示出来。
    try{
       BufferedReader output=new BufferedReader(new FileReader (fileName));
       //将文件fileName读到字符缓冲读取器output中;
       String text;
       buffer=new StringBuffer();
       while((text=output.readLine())!=null)  //依次访问文件的每一行;
       buffer.append(text+"\n");   //将每一行添加到buffer中;

       contentFrame.displayArea.setText(buffer.toString());
       //将buffer的字符串在contentFrame窗口中显示出来;
       contentFrame.setTitle(fileName.getName());//改变窗口的标题;
       output.close();   //关闭字符缓冲流output;
       }
       catch(IOException ex){
         JOptionPane.showMessageDialog(null,"错误发生!");
       }
       catch(NullPointerException ex3){
         JOptionPane.showMessageDialog(null,"警告!");
       }
  }
    public static void main(String[] args) {
    TextEditor texteditor = new TextEditor();
    texteditor.setSize(400,300);
    texteditor.setVisible(true);
    texteditor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }//end main
  
  class NewFileListener implements ActionListener{
  public void actionPerformed(ActionEvent e){//新建
        DisplayFrame txtFrame=new DisplayFrame();
        currentFrame=txtFrame;
txtFrame.setTitle("新建文件");
        desktopPane.add(txtFrame);
        status=0;
  }
}//end class newFileListener;

class OpenFileListener implements ActionListener{
   public void actionPerformed(ActionEvent e){//打开文件监视接口;
   File fileName=chooseFile(1);//打开模式打开文件;
   currentFile=fileName;
  try{
   if(fileName.exists()){
    DisplayFrame contentFrame=new DisplayFrame();
    currentFrame=contentFrame;
    desktopPane.add(contentFrame);
    showFile(fileName,contentFrame);
      }//end if
      status=1;
   }catch(Exception ex){}
   }//end actionPerformed
   }//end class openFileListener;

   class SaveFileListener implements ActionListener{
     public void actionPerformed(ActionEvent e){//保存处理
       if (e.getSource() == saveItem) {
         try {
           saveFile(currentFile, status);
         }
         catch (IOException ex) {
           JOptionPane.showMessageDialog(null, "保存文件失败!!!!");
         }
         catch(Exception ex){ }
       }
     }
   }//end class SaveFileListener;
   
  class OtherSaveFileListener implements ActionListener{
    public void actionPerformed(ActionEvent e){//另存处理;
      if(e.getSource()==othersaveItem){
      File fileName=chooseFile(2);
      BufferedWriter output=null;
      BufferedReader input=null;
      try{
          if(fileName.exists()!=true) fileName.createNewFile();
          input = new BufferedReader(new FileReader(currentFile));
          output = new BufferedWriter(new FileWriter(fileName));         
          String ch;
          while ((ch=input.readLine())!=null) {
             output.write(ch);
            output.newLine();
          }
          input.close();
          output.close();
          currentFrame.dispose();//将源文件显示窗口关闭;
          DisplayFrame contentFrame=new DisplayFrame();
          desktopPane.add(contentFrame);//创建新的显示窗口;
          currentFrame=contentFrame;//新窗口设置为当前显示窗口;
          currentFile=fileName;
          showFile(fileName,contentFrame);
          //在窗口contentFrame中显示文件fileName;
       }catch(IOException ex){
        JOptionPane.showMessageDialog(null,"文件另存失败!!!!");
      }
     }//end outer if
    }//end actionPerformed method;
  }//end class OtherSaveListener;
  
  class DisplayFrame extends JInternalFrame implements DocumentListener{
   JTextArea displayArea;
   public DisplayFrame() {
   super("文本内容:", true, true, true, true);
   displayArea = new JTextArea(8, 30);
   displayArea.getDocument().addDocumentListener(this);
   getContentPane().add(displayArea);
   pack();
   setVisible(true);
  }
  public void insertUpdate(DocumentEvent e) {
   buffer=new StringBuffer(displayArea.getText());
   displayArea.setCaretPosition(displayArea.getDocument().getLength());
  }
  public void removeUpdate(DocumentEvent e) {
   buffer=new StringBuffer(displayArea.getText());
   displayArea.setCaretPosition(displayArea.getDocument().getLength());
  }
  public void changedUpdate(DocumentEvent e) {
   //Plain text components don't fire these events.
   }
  }//end DisplayFrame.java
}//end class TextEditor.java
2010-11-29 15:28
快速回复:哪位高手可以写出下列Java程序的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021137 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved