📄 filejdialog.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 + -