java吧 关注:1,257,591贴子:12,752,152
  • 7回复贴,共1

【求助】这个到底哪儿错了???

只看楼主收藏回复

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.util.*;
//class
class TextEditorFrame extends JFrame
{
  File file = null;
  Color color = Color.black;
  GraphicsEnvironment getFont = GraphicsEnvironment.getLocalGraphicsEnvironment();
  Font[] fonts = getFont.getAllFonts();
//1.2
  JTextPane text = new JTextPane();
  JFileChooser filechooser = new JFileChooser();
  JColorChooser colorchooser = new JColorChooser();
  JDialog about = new JDialog(this);
  JMenuBar menubar = new JMenuBar();
  //主窗体初始化
  TextEditorFrame() {
    initTextPane(); //面板
    initMenu(); //菜单
    initAboutDialog(); //关于对话框
    initToolBar(); //工具栏
  }
  //面板初始化
  void initTextPane() {
    setFont(new Font("Times New Roman", Font.PLAIN, 12));
    getContentPane().add(new JScrollPane(text));
  }
  //---------------------------------------------------------------------------
  //菜单的定义
  //super Menue
  class Notebook extends JApplet{
     Container con;
    public void init() {
        con = getContentPane();
        JMenuBar menubar = new JMenuBar();
        con.add(menubar, BorderLayout.NORTH);
        JMenu fileMenu = new JMenu("文件");
        JMenu editMenu = new JMenu("编辑");
        JMenu helpMenu = new JMenu("帮助");
        JMenuItem item1 = new JMenuItem("打开");
        JMenuItem item2 = new JMenuItem("保存"); //创建6个菜单项。
        JMenuItem item3 = new JMenuItem("退出");
        JMenuItem item4 = new JMenuItem("剪切");
        JMenuItem item5 = new JMenuItem("复制");



1楼2009-01-08 09:30回复
            JMenuItem item6 = new JMenuItem("粘贴");
            JMenuItem item7 = new JMenuItem("全选");
            JMenuItem item8 = new JMenuItem("关于");
            fileMenu.add(item1);
            fileMenu.add(item2);
            fileMenu.add(item3);
            editMenu.add(item4);
            editMenu.add(item5);
            editMenu.add(item6);
            editMenu.add(item7);
            helpMenu.add(item8);
            menubar.add(fileMenu);
            menubar.add(editMenu);
            menubar.add(helpMenu);
        }
     //-----------------------------------------------------------------------------
     //菜单的初始化
        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("打开")){
    


    2楼2009-01-08 09:30
    回复
      广告
      立即查看
                      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("退出")){
                          System.exit(0);
                      }else if(id.equals("剪切")){
                          text.cut();
                      }else if(id.equals("复制")){
                          text.copy();
                      }else if(id.equals("粘贴")){
      


      3楼2009-01-08 09:30
      回复
                            text.paste();
                        }else if(id.equals("全选")){
                            text.selectAll();
                        }else if(id.equals("关于")){
                            about.setSize(250,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)
        


        4楼2009-01-08 09:30
        回复
                  {
                      e.printStackTrace();
                  }
              }
          //--------------------------------------------------------------
          //关于对话框
              void initAboutDialog()
              {
                  about.setTitle("关于... ");
                  about.getContentPane().setBackground(Color.green );
                  about.getContentPane().add(new JLabel("   简易记事本   作者:杨鑫萌 "));
                  about.setModal(true);
              }
          //入口函数
           public class TextEditorApp
          {
            public static void main( String [] args){
              TextEditorFrame f = new TextEditorFrame();
                  JSplashWindowEx splash = new JSplashWindowEx();
              splash.start();
                  try {
                        Thread.sleep(10000);
                      }
                      catch (Exception ex) {
                        ex.printStackTrace();
              }
              f.setTitle("简易文字编辑器 ");
              f.setSize(800,600);
              f.show();
            }
          }
          //启动屏
          class JSplashWindowEx extends JWindow implements Runnable {
            Thread splashThread=null;
            private JProgressBar progress;
            public JSplashWindowEx() {
              setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
              JPanel splash = new JPanel(new BorderLayout());
              URL url = getClass().getResource("/images/winter.jpg");
              if(url != null){
                splash.add(new JButton(new ImageIcon(url)),
                BorderLayout.CENTER);
              }
              progress = new JProgressBar(1,100);
              progress.setStringPainted(true);
              progress.setBorderPainted(false);
              progress.setString("请稍后,程序正在加载...");
              progress.setBackground(Color.white);
              splash.add(progress,BorderLayout.SOUTH);
              setContentPane(splash);
              Dimension screen = getToolkit().getScreenSize();
              pack();
              setLocation((screen.width - getSize().width) / 2,
                  (screen.height - getSize().height) / 2);
            }
            public void start(){
              this.toFront();
              splashThread=new Thread(this);
              splashThread.start();
            }
            public void run(){
              show();
              try {
                for (int i=0;i<100;i++){
                  Thread.sleep(100);
                  progress.setValue(progress.getValue() + 1);
                }
              }
              catch (Exception ex) {
                ex.printStackTrace();
              }
              dispose();
            }
          }
          


          5楼2009-01-08 09:30
          回复
            有一部分从书上找的
            有一部分是看别人的例子做的
            但就是有一个地方一直报错


            6楼2009-01-08 09:46
            回复
              • 203.229.169.*
              异常吗?
              错误信息或者异常信息贴出来看看吧.


              7楼2009-01-08 10:12
              回复
                唉。。。弄不出来它就说了最后一个{有问题
                 public static void main( String [] args){ 
                好像是这行有问题。


                8楼2009-01-08 10:43
                回复