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

📄 filejdialog.java

📁 无线传感器网络中,基于ns2仿真平台,mannasim的源代码,研究ns2必不可少的
💻 JAVA
字号:
/*
 * JDialog_1.java
 *
 * Created on 17 de Novembro de 2005, 17:53
 */

/**
 *
 * @author  helen
 */

package gui;

import java.util.*;
import javax.swing.*;

import xml2tcl.Translator;

import java.io.*;

public class FileJDialog extends javax.swing.JDialog {

    /** Creates new form fileJDialog */
     public FileJDialog(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
     }

     public void displayFileDialog(int type){
        currentType = type;

        switch(type){
            case OPEN:
                setXMLFilter(jf);
                result = jf.showOpenDialog(jf);
                break;
            case SAVE:
                if(file != null){
                    saveFile(file);
                }
                else{
                    setXMLFilter(jf);
                    result = jf.showSaveDialog(jf);
                }
                break;
            case SAVE_AS:
                if(file != null)
                    jf.setCurrentDirectory(file);
                setXMLFilter(jf);
                result = jf.showSaveDialog(jf);
                break;
            case EXPORT:
                setTCLFilter(jf);
                result = jf.showDialog(jf,"Export");
                break;
        }
     }


    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jf = new javax.swing.JFileChooser();

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                closeDialog(evt);
            }
        });

        jf.setAcceptAllFileFilterUsed(false);
        jf.setFont(new java.awt.Font("Arial", 0, 12));
        jf.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jfActionPerformed(evt);
            }
        });

        getContentPane().add(jf, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jfActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jfActionPerformed
        // Add your handling code here:

        setFile(jf.getSelectedFile());

        if (result == JFileChooser.APPROVE_OPTION && file!=null) {

            switch (currentType){
                case OPEN:
                    openFile(file);
                    break;
                case SAVE:
                    if(saveFile(file)){
                        MainFrame.setXMLSaved(true);
                    }
                    break;
                case EXPORT:
                    exportFile(file);
                    break;
            }
            
            setActionPerformed(true);
            
        } else {
            setVisible(false);
            dispose();
            setActionPerformed(false);
        }

    }//GEN-LAST:event_jfActionPerformed

    /** Closes the dialog */
    private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
        setVisible(false);
        dispose();
    }//GEN-LAST:event_closeDialog

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JFileChooser jf;
    // End of variables declaration//GEN-END:variables

    private int result;
    private boolean actionPerformed;
    private int currentType;
    private FileReader fr;
    private BufferedReader br;
    private FileWriter fw;
    private BufferedWriter bw;
    private PrintWriter pw;
    public static final int OPEN = 1;
    public static final int SAVE = 2;
    public static final int EXPORT = 3;
    public static final int SAVE_AS = 4;
    public static String xmlFileName = null;
    public static String tclFileName = null;
    private static File file;

    private void setXMLFilter(JFileChooser jfc){
        jfc.addChoosableFileFilter(new XMLFilter());
    }

    private void setTCLFilter(JFileChooser jfc){
        jfc.addChoosableFileFilter(new TCLFilter());
    }
    class XMLFilter extends javax.swing.filechooser.FileFilter {
        public boolean accept(java.io.File file) {
            String filename = file.getName();
            return filename.endsWith(".xml");
        }
        public String getDescription() {
            return "*.xml";
        }
    }

    class TCLFilter extends javax.swing.filechooser.FileFilter {
        public boolean accept(java.io.File file) {
            String filename = file.getName();
            return filename.endsWith(".tcl");
        }
        public String getDescription() {
            return "*.tcl";
        }
    }

    private boolean openFile(File file){
        Translator translator = new Translator(MainFrame.getTcl());

        try
        {
            translator.open(file);
        }
        catch (Exception e)
        {
            return false;
        }

        return true;
    }

    private boolean saveFile(File file){
        Translator translator = new Translator(MainFrame.getTcl());

        try
        {
            String filename = file.getAbsolutePath();

            if(!filename.endsWith(".xml")) {
                filename = filename.concat(".xml");
            }

            translator.save(filename);
        }
        catch (Exception e)
        {
            return false;
        }

        return true;
    }

    private boolean exportFile(File file){
        Translator translator = new Translator(MainFrame.getTcl());

        try
        {
            String filename = file.getAbsolutePath();

            if(!filename.endsWith(".tcl")) {
                filename = filename.concat(".tcl");
            }

            translator.export(filename);
        }
        catch (Exception e)
        {
            return false;
        }

        return true;
    }

    public static void setFile(File aFile) {
        file = aFile;
    }
    
    private void setActionPerformed(boolean b){
        actionPerformed = b;
    }
    
    public boolean isActionPerformed(){ 
        return actionPerformed;
    }

}

⌨️ 快捷键说明

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