⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 JTREE的例子
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package util4;import javax.swing.*;import javax.swing.border.*;import javax.swing.text.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;import util2.*;import util3.*;import util5.*;public class MainFrame extends JFrame implements ChangeListener,EditorResListener,  ERCListener{  static int windowCount=1;  Border border1;  JToolBar toolBar = new JToolBar();  Border border2;  JButton newBut = new JButton();  JButton saveBut = new JButton();  JButton openBut = new JButton();  JMenuItem newMI = new JMenuItem();  JMenuBar mainMenuBar = new JMenuBar();  JMenuItem saveMI = new JMenuItem();  JMenuItem exitMI = new JMenuItem();  JMenu fileMenu = new JMenu();  JMenuItem saveAsMI = new JMenuItem();  JButton undoBut = new JButton();  JButton redoBut = new JButton();  JButton findBut = new JButton();  JSplitPane splitPan = new JSplitPane();  JTabbedPane leftTabPan = new JTabbedPane();  JTabbedPane rightTabPan = new JTabbedPane();  JMenuItem closeMI = new JMenuItem();  JMenu openMenu = new JMenu();  JMenuItem openRelaMI = new JMenuItem();  JMenu toolMenu = new JMenu();  JMenuItem findStrMI = new JMenuItem();  JPopupMenu popMen = new JPopupMenu();  JMenuItem closePMI = new JMenuItem();  JMenuItem findPMI = new JMenuItem();  JMenuItem eraseURMI = new JMenuItem();  JMenuItem newWinMI = new JMenuItem();  JMenuItem setupBrowMI = new JMenuItem();  JMenuItem viewPMI = new JMenuItem();  JMenuItem saveAllMI = new JMenuItem();  AboutDia aboutDia=new AboutDia(this,"About",false);  Border border3;  private JMenu encodingMenu = new JMenu();  private JRadioButtonMenuItem enc_defaultMI = new JRadioButtonMenuItem();  private JRadioButtonMenuItem enc_utf8MI = new JRadioButtonMenuItem();  private JMenu aboutMenu = new JMenu();  private JMenuItem aboutMI = new JMenuItem();  String[] str={"xml","dtd","xsl","wsdl","xsd","xslt","wml","xsql"};  ExampleFileFilter relaFilter=new ExampleFileFilter(str, "relate files");  YorNDia ynDia=new YorNDia(this,"",false);  JFileChooser fileChooser;  ContainEdi currenEditor=null;  File iniFile=new File("init/default.ell");  NewAction newAction=new NewAction();  OpenAction openAction=new OpenAction();  SaveAction saveAction=new SaveAction();  SaveAsAction saveAsAction=new SaveAsAction();  CloseAction closeAction=new CloseAction();  ExitAction exitAction=new ExitAction();  FindStrAction findStrAction=new FindStrAction();  BrowseAction browseAction=new BrowseAction();  BtnPan leftDef=new BtnPan(this,"Default");  BtnPan leftEll=new BtnPan(this,"Extend");  LoadForEditor loadForEdi=new LoadForEditor();  SelectSaveDia ssd=new SelectSaveDia(this,"Select and save modified files",true);  UndoRedoHandle undoRedoHandle=new UndoRedoHandle(undoBut,redoBut);  Reporter reporter=new Reporter(this,"State report",false);  StrSelDia strSelDia=new StrSelDia(this,"Find String");  String encoding;  EncodeChangeAction encodeChangeAction=new EncodeChangeAction();  public MainFrame()  { super("Simple XML Editor 2.4");    try {      jbInit();    }    catch(Exception e) {      e.printStackTrace();    }  }  protected void processWindowEvent(WindowEvent e) {    if (e.getID() == WindowEvent.WINDOW_CLOSING) {      exitAction.actionPerformed(null);    }  }  private void jbInit() throws Exception {    border2 = BorderFactory.createEtchedBorder(Color.white,new Color(134, 134, 134));    border1 = new MatteBorder(null);    border3 = new MatteBorder(null);    toolBar.setBackground(SystemColor.activeCaptionBorder);    toolBar.setBorder(border1);    newBut.setBorder(border3);    newBut.setToolTipText("new file");    newBut.setActionCommand("newBut");    newBut.setIcon(new ImageIcon(MainFrame.class.getResource("new.gif")));    saveBut.setBorder(border3);    saveBut.setToolTipText("save file");    saveBut.setActionCommand("saveBut");    saveBut.setIcon(new ImageIcon(MainFrame.class.getResource("save.gif")));    openBut.setBorder(border3);    openBut.setToolTipText("open file");    openBut.setActionCommand("openBut");    openBut.setIcon(new ImageIcon(MainFrame.class.getResource("open.gif")));    newMI.setText("New");    mainMenuBar.setBorder(border2);    saveMI.setText("Save");    exitMI.setText("Exit");    fileMenu.setText("File");    saveAsMI.setText("Save as");    undoBut.setBorder(border3);    undoBut.setToolTipText("Undo");    undoBut.setIcon(new ImageIcon(MainFrame.class.getResource("UNDO.jpg")));    toolBar.addSeparator();    redoBut.setBorder(border3);    redoBut.setToolTipText("Redo");    redoBut.setActionCommand("redoBut");    redoBut.setIcon(new ImageIcon(MainFrame.class.getResource("REDO.jpg")));    findBut.setBorder(border3);    findBut.setToolTipText("Find");    findBut.setActionCommand("Find");    findBut.setIcon(new ImageIcon(MainFrame.class.getResource("find.jpg")));    closeMI.setActionCommand("closeMI");    closeMI.setText("Close");    openMenu.setText("Open");    openRelaMI.setActionCommand("rela");    openRelaMI.setText("Relate files");    toolMenu.setText("Tool");    findStrMI.setText("Find string");    saveAllMI.setText("Save all");    rightTabPan.setFont(new java.awt.Font("Serif", 0, 12));    rightTabPan.setBorder(border3);    popMen.setFont(new java.awt.Font("SansSerif", 1, 13));    popMen.setForeground(SystemColor.desktop);    closePMI.setText("Close");    findPMI.setText("Find");    eraseURMI.setText("Erase undo redo");    newWinMI.setText("New window");    setupBrowMI.setText("Setup Browser");    viewPMI.setEnabled(false);    viewPMI.setText("View it");    leftTabPan.setBorder(border3);    encodingMenu.setText("Encoding");    enc_defaultMI.setText("System default");    enc_defaultMI.setSelected(true);    enc_utf8MI.setText("UTF-8");    aboutMenu.setText("About");    aboutMI.setText("About...");    toolBar.add(newBut, null);    toolBar.add(saveBut, null);    toolBar.add(openBut, null);    toolBar.addSeparator();    toolBar.add(undoBut, null);    toolBar.add(redoBut, null);    toolBar.addSeparator();    toolBar.add(findBut, null);    this.getContentPane().add(splitPan, BorderLayout.CENTER);    splitPan.add(leftTabPan, JSplitPane.LEFT);    splitPan.add(rightTabPan, JSplitPane.RIGHT);    mainMenuBar.add(fileMenu);    mainMenuBar.add(toolMenu);    mainMenuBar.add(encodingMenu);    mainMenuBar.add(aboutMenu);    fileMenu.add(newMI);    fileMenu.addSeparator();    fileMenu.add(openMenu);    fileMenu.add(closeMI);    fileMenu.addSeparator();    fileMenu.add(saveMI);    fileMenu.add(saveAsMI);    fileMenu.add(saveAllMI);    fileMenu.addSeparator();    fileMenu.add(exitMI);    this.getContentPane().add(toolBar, BorderLayout.NORTH);    openMenu.add(openRelaMI);    toolMenu.add(findStrMI);    toolMenu.addSeparator();    toolMenu.add(eraseURMI);    toolMenu.addSeparator();    toolMenu.add(setupBrowMI);    toolMenu.addSeparator();    toolMenu.add(newWinMI);    popMen.add(closePMI);    popMen.addSeparator();    popMen.add(findPMI);    popMen.addSeparator();    popMen.add(viewPMI);    encodingMenu.add(enc_defaultMI);    encodingMenu.add(enc_utf8MI);    setJMenuBar(mainMenuBar);    //System.out.print("call for init. ");    leftTabPan.addTab("Default",null,leftDef,"Default list");    leftTabPan.addTab("Extend",null,leftEll,"Extend list");    //this.leftTabPan.addTab("ELL",null,new BtnPan(),"ELEMENT list");    fileChooser=new JFileChooser();    rightTabPan.addChangeListener(this);    newMI.addActionListener(newAction);    newBut.addActionListener(newAction);    openRelaMI.addActionListener(openAction);    openBut.addActionListener(openAction);    saveAsMI.addActionListener(this.saveAsAction);    saveMI.addActionListener(this.saveAction);    saveBut.addActionListener(this.saveAction);    closeMI.addActionListener(this.closeAction);    closePMI.addActionListener(this.closeAction);    exitMI.addActionListener(this.exitAction);    undoBut.setFocusPainted(false);    redoBut.setFocusPainted(false);    undoBut.setEnabled(false);    redoBut.setEnabled(false);    findBut.addActionListener(findStrAction);    findStrMI.addActionListener(findStrAction);    viewPMI.addActionListener(browseAction);    this.splitPan.setDividerLocation(157);    this.splitPan.setOneTouchExpandable(true);    this.addWindowListener(new WindowAdapter(){      public void windowClosing(WindowEvent e) {        MainFrame.this.exitAction.actionPerformed(null);      }    });    undoBut.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        MainFrame.this.undoRedoHandle.undo();        MainFrame.this.currenEditor.getXeditor().requestFocus();      }    });    redoBut.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        MainFrame.this.undoRedoHandle.redo();        MainFrame.this.currenEditor.getXeditor().requestFocus();      }    });    saveAllMI.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        for(int i=0;i<rightTabPan.getComponentCount();i++){          //System.out.print("here ");          ContainEdi ce=(ContainEdi)(rightTabPan.getComponentAt(i));          saveAsAction.saveIt(ce.getFile(),ce);        }      }    });    eraseURMI.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        MainFrame.this.currenEditor.eraseUR();      }    });    setupBrowMI.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        new SetupBrowserAction().actionPerformed(null);      }    });    newWinMI.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        MainFrame mf=new MainFrame();        mf.setBounds(60,20,690,540);        mf.show();        MainFrame.this.windowCount++;      }    });    findPMI.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        MainFrame.this.findStrAction.find();      }    });    aboutMI.addActionListener(new ActionListener(){      public void actionPerformed(ActionEvent e){        aboutDia.setVisible(true);      }    });    this.encodeChangeAction.registerNotifyer(enc_defaultMI.getActionCommand(),        System.getProperty("file.encoding"),enc_defaultMI);    this.enc_defaultMI.addActionListener(encodeChangeAction);    enc_defaultMI.doClick();//else their would be a null pointer    this.encodeChangeAction.registerNotifyer(enc_utf8MI.getActionCommand(),        "utf-8",enc_utf8MI);    this.enc_utf8MI.addActionListener(encodeChangeAction);    try{leftDef.importFile(this.iniFile);}    catch(Exception excep){      this.reporter.setStateLab("File not found or document invalidation.");    }    try{      File file=new File(iniFile.getParent()+"/Browser");      BufferedReader dis=new BufferedReader(new FileReader(file));      String path=dis.readLine();      browseAction.setBrowsePath(path);    }    catch(Exception exc){}    aboutMenu.add(aboutMI);  }  public void showStateReport(String s){    this.reporter.setStateLab(s);    reporter.setVisible(true);  }//listener method  public void stateChanged(ChangeEvent e){//System.out.print("change. ");    this.currenEditor=(ContainEdi)(this.rightTabPan.getSelectedComponent());    this.undoRedoHandle.update();  }  public void dispPopMen(MouseEvent e){//System.out.println("pick");    this.popMen.show(currenEditor.getXeditor(),e.getX(),e.getY());  }  public void btnEdit(String message,int offset){    //currenEditor.getXeditor().insert(message,currenEditor);    try{      Xeditor edi=currenEditor.getXeditor();      edi.insert(message,edi.getCaretPosition());      edi.setCaretPosition((edi.getCaretPosition()-offset));      edi.requestFocus();    }catch(NullPointerException npe){}  }  public JFileChooser shareFileChooser(){    return this.fileChooser;  }  public YorNDia shareYorNDia(){    return this.ynDia;  }  public Reporter shareReporter(){    return this.reporter;  }  public File shareIniFile(){    return this.iniFile;  }//useful classes/*  protected class ImportEll implements Runnable  {    File file;    BtnPan bpan;    public ImportEll reSet(BtnPan bpan,File file){      this.bpan=bpan;      this.file=file;      return this;    }    public void run(){      BtnPan bpan=this.bpan;      File file=this.file;      try{//System.out.print("init. ");        FileReader reader=new FileReader(file);        BufferedReader breader=new BufferedReader(reader);        String key="",value="",read="";        Vector v=new Vector();        int i=0; boolean onValue=false;        while((read=breader.readLine())!=null){          if(read.charAt(0)=='!'){            if(i>0){v.addElement(new Messager(key,value)); value="";}            key=read.substring(1);            onValue=false;          }          else if(read.charAt(0)=='@'){            browseAction.setBrowsePath(read.substring(1));          }          else{            if(onValue) value=value+"\n"+read;            else value=value+read;            onValue=true;          }          i++;        }        v.addElement(new Messager(key,value));        Messager[] msgarr=new Messager[v.size()];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -