package system;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.event.CellEditorListener;
import javax.swing.event.ChangeEvent;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeCellEditor;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class Mains extends JFrame{
private JSplitPane jSplitPane1=null;
private JSplitPane jSplitPane2=null;
private JButton jButton1=null;
private JFileChooser jFileChooser1=null;
private static JButton filepath=null;
private JButton jButton2=null;
private JToolBar jToolBar1=null;
private static File path=new File("C:/");
private String suffix=null;
private File file=null;
private static String Name=null;
private JTabbedPane jTabbedPane1=null;
private JScrollPane jScrollPane2=null;
private JButton jButton3=null;
private static JTextArea Check=null;
private ArrayList<JTextArea> Text=null;
private JTree Tree=null;
private JScrollPane jScrollPane3=null;
private JScrollPane jScrollPane1=null;
private FileSystemModels fileSystemModel=null;
int initTab=0;
private ArrayList<JTextField> title=null;
private ArrayList hash;
int notsave=0;
private TreePath selPath=null;
private TreePath oldpath=null;
private DefaultCellEditor editor=null;
public Mains(){
{
jToolBar1 = new JToolBar();
getContentPane().add(jToolBar1, BorderLayout.NORTH);
jToolBar1.setPreferredSize(new java.awt.Dimension(569, 27));
{
jButton3 = new JButton();
jToolBar1.add(jButton3);
jButton3.setText("\u65b0\u5efa");
jButton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
newtextarea();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}//新建标签
}
});
}
{
jButton1 = new JButton();
jToolBar1.add(jButton1);
jButton1.setText("保存");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
save();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}//保存
Tree.updateUI();//更新树
}
});
}
{
jButton2 = new JButton();
jToolBar1.add(jButton2);
jButton2.setText("运行");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
try {
save();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}//保存
executeCmdText("javac "+file.getPath());//编译java文件
executeCmdText("java -classpath "+path+" "+Name);//执行java文件
Check.append("执行完成!\n");
Tree.updateUI();//更新树
}
});
}
{
jFileChooser1 = new JFileChooser();
jFileChooser1.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
}
{
filepath = new JButton();
jToolBar1.add(filepath);
filepath.setText("\u8bbe\u7f6e\u8def\u5f84");
filepath.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
{
jFileChooser1.showDialog(filepath, "选择");//选择对话框
path=jFileChooser1.getSelectedFile();//选中的目录地址
fileSystemModel = new FileSystemModels(new File(path.toString()));//生成系统树
Tree.setModel(fileSystemModel);
}
}
});
fileSystemModel = new FileSystemModels(new File("C:/"));//生成系统树
}
}
{
jSplitPane1 = new JSplitPane();
getContentPane().add(jSplitPane1, BorderLayout.CENTER);
jSplitPane1.setResizeWeight(0.2);
{
jScrollPane1 = new JScrollPane();
jSplitPane1.add(jScrollPane1, JSplitPane.LEFT);
{
Tree = new JTree(fileSystemModel);//树
jScrollPane1.setViewportView(Tree);
final JTextField textField = new JTextField();
editor = new DefaultCellEditor(textField);
Tree.setEditable(true);
Tree.setCellEditor(editor);
Tree.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
int selRow = Tree.getRowForLocation(e.getX(), e.getY());
selPath = Tree.getPathForLocation(e.getX(), e.getY());
if(selPath!=null){
oldpath=selPath;
}
if(selRow != -1) {
if(e.getButton()==MouseEvent.BUTTON3) {
Tree.setSelectionRow(selRow);
String c=selPath.toString();//取选中的文件地址
c=c.replace("[","");
c=c.replace("\\, ","\\");
c=c.replace(", ","\\");
c=c.replace("]","");
File file=new File(c);
if(!file.isDirectory()){
try {
open(file);
} catch (NoSuchAlgorithmException evt) {
evt.printStackTrace();
} catch (UnsupportedEncodingException evt) {
evt.printStackTrace();
}//如果不是目录就打开该文件
}
}
}
};
});
///////////////////
editor.addCellEditorLi
评论1
最新资源