📄 configdialog.java
字号:
package org.loon.framework.ide.test.dialog;
/**
* <p>Title: LoonFramework</p>
* <p>Description:</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: LoonFramework</p>
* @author chenpeng
* @email:ceponline@yahoo.com.cn
* @version 0.1
*/
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import org.loon.framework.ide.test.LookAndFeel;
import org.loon.framework.ide.test.MiniEditor;
import org.loon.framework.ide.test.data.ConfigData;
public class ConfigDialog extends JDialog implements ActionListener
{
Container contentPane;
Frame owner;
JTabbedPane tabPane;
JPanel panelTab1;
JTextField textJavaPath;
JButton buttonJavaPath;
JTextField textClassPath;
JButton buttonClassPath;
JTextField textBrowserPath;
JButton buttonBrowserPath;
JTextField textReferenceUrl;
JPanel panelTab2;
JComboBox comboProtoType;
JButton buttonAddProtoType;
JButton buttonRemoveProtoType;
JButton buttonEditProtoType;
JButton buttonEditProtoTypeFile;
JPanel panelTab3;
JCheckBox checkCreateBatFile;
JCheckBox checkCreateJarFile;
JCheckBox checkCreateHtmlFile;
JPanel panelTab4;
JTextPane textSample;
JTextField textLastBackgroundColor;
JButton buttonLastBackgroundColor;
JTextField textLastCharacterColor;
JButton buttonLastCharacterColor;
JTextField textLastKeyWord1Color;
JButton buttonLastKeyWord1Color;
JTextField textLastKeyWord2Color;
JButton buttonLastKeyWord2Color;
JTextField textLastStringColor;
JButton buttonLastStringColor;
JTextField textLastCommentColor;
JButton buttonLastCommentColor;
JPanel panelTab5;
String strTabSpace[] = {
"2", "3", "4", "5", "6", "7", "8"
};
JComboBox comboTabSpace;
JPanel panelSouth;
JPanel panelSouthEast;
JButton buttonRet;
JButton buttonOk;
JButton buttonCancel;
File dataFile;
File dataDirectory;
ConfigData config;
JFileChooser fileChooser;
JColorChooser colorChooser;
JOptionPane op;
/**
*
*/
private static final long serialVersionUID = 1L;
public ConfigDialog(Frame frame)
{
super(frame, "JavaIDE : 参数设定", true);
tabPane = new JTabbedPane(1);
panelTab1 = new JPanel();
textJavaPath = new JTextField();
buttonJavaPath = new JButton("浏览");
textClassPath = new JTextField();
buttonClassPath = new JButton("浏览");
textBrowserPath = new JTextField();
buttonBrowserPath = new JButton("浏览");
textReferenceUrl = new JTextField();
panelTab2 = new JPanel();
comboProtoType = new JComboBox();
buttonAddProtoType = new JButton("添加");
buttonRemoveProtoType = new JButton("删除");
buttonEditProtoType = new JButton("编辑");
buttonEditProtoTypeFile = new JButton("描述文件");
panelTab3 = new JPanel();
checkCreateBatFile = new JCheckBox("创建为批处理文件(.bat)");
checkCreateJarFile = new JCheckBox("创建为jar文件");
checkCreateHtmlFile = new JCheckBox("创建为html文件");
panelTab4 = new JPanel();
textSample = new JTextPane();
textLastBackgroundColor = new JTextField();
buttonLastBackgroundColor = new JButton("设定");
textLastCharacterColor = new JTextField();
buttonLastCharacterColor = new JButton("设定");
textLastKeyWord1Color = new JTextField();
buttonLastKeyWord1Color = new JButton("设定");
textLastKeyWord2Color = new JTextField();
buttonLastKeyWord2Color = new JButton("设定");
textLastStringColor = new JTextField();
buttonLastStringColor = new JButton("设定");
textLastCommentColor = new JTextField();
buttonLastCommentColor = new JButton("设定");
panelTab5 = new JPanel();
comboTabSpace = new JComboBox(strTabSpace);
panelSouth = new JPanel();
panelSouthEast = new JPanel();
buttonRet = new JButton("设为默认");
buttonOk = new JButton("确定");
buttonCancel = new JButton("取消");
dataFile = new File("LoonframeworkSystem/system0.1.ini");
dataDirectory = new File("LoonframeworkSystem");
op = new JOptionPane();
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowevent)
{
setting();
setVisible(false);
}
});
owner = frame;
try
{
if(!dataFile.exists())
{
if(!dataDirectory.exists() && !dataDirectory.mkdirs())
System.exit(0);
config = new ConfigData();
ObjectOutputStream objectoutputstream = new ObjectOutputStream(new FileOutputStream(dataFile));
objectoutputstream.writeObject(config);
objectoutputstream.close();
}
ObjectInputStream objectinputstream = new ObjectInputStream(new FileInputStream(dataFile));
config = (ConfigData)objectinputstream.readObject();
objectinputstream.close();
File file = new File("LoonframeworkSystem/Application.java");
if(!file.exists())
{
BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter(file));
bufferedwriter.write("import java.awt.*;\r\nimport java.awt.event.*;\r\nimport javax.swing.*;\r\n\r\npublic class Application extends JFrame implements ActionListener {\r\n Container contentPane;\r\n JButton button = new JButton(\"Test\");\r\n\r\n public Application() {\r\n super(\"Application\");\r\n addWindowListener(new WindowAdapter() {\r\n public void windowClosing(WindowEvent e) {\r\n System.exit(0);\r\n }\r\n });\r\n contentPane = getContentPane();\r\n contentPane.setLayout(new BorderLayout());\r\n contentPane.add(BorderLayout.CENTER, button);\r\n button.addActionListener(this);\r\n pack();\r\n setVisible(true);\r\n }\r\n\r\n public void actionPerformed(ActionEvent e) {\r\n }\r\n\r\n static public void main(String[] args) {\r\n new Application();\r\n }\r\n}\r\n");
bufferedwriter.close();
}
file = new File("LoonframeworkSystem/AppletTest.java");
if(!file.exists())
{
BufferedWriter bufferedwriter1 = new BufferedWriter(new FileWriter(file));
bufferedwriter1.write("import java.applet.*;\r\nimport java.awt.*;\r\nimport java.awt.event.*;\r\n\r\npublic class AppletTest extends Applet implements ActionListener {\r\n Button button = new Button(\"Test\");\r\n\r\n public void init() {\r\n setLayout(new BorderLayout());\r\n add(BorderLayout.CENTER, button);\r\n button.addActionListener(this);\r\n }\r\n\r\n public void actionPerformed(ActionEvent e) {\r\n }\r\n}\r\n");
bufferedwriter1.close();
}
}
catch(Exception ex) { }
try
{
if(!dataDirectory.isHidden())
{
StringBuffer stringbuffer = new StringBuffer(dataDirectory.getAbsolutePath());
int i = stringbuffer.toString().indexOf("\\\\");
if(i >= 0)
stringbuffer.replace(i, i + 2, "\\");
}
}
catch(Exception exception1) { }
contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add("Center", tabPane);
contentPane.add("South", panelSouth);
panelSouth.setLayout(new BorderLayout());
panelSouth.add("East", panelSouthEast);
panelSouthEast.setLayout(new GridLayout(1, 3, 5, 0));
panelSouthEast.add(buttonRet);
panelSouthEast.add(buttonOk);
panelSouthEast.add(buttonCancel);
tabPane.add(panelTab1);
tabPane.setTitleAt(0, "JRE设定");
tabPane.add(panelTab2);
tabPane.setTitleAt(1, "基础类型设定");
tabPane.add(panelTab3);
tabPane.setTitleAt(2, "生成设定");
tabPane.add(panelTab4);
tabPane.setTitleAt(3, "颜色设定");
tabPane.add(panelTab5);
tabPane.setTitleAt(4, "间隔设定");
buttonRet.addActionListener(this);
buttonOk.addActionListener(this);
buttonCancel.addActionListener(this);
JPanel jpanel = new JPanel();
jpanel.setLayout(new BorderLayout(5, 0));
jpanel.add("North", new JLabel("JDK路径"));
jpanel.add("Center", textJavaPath);
jpanel.add("East", buttonJavaPath);
JPanel jpanel1 = new JPanel();
jpanel1.setLayout(new BorderLayout(5, 0));
jpanel1.add("North", new JLabel("Class路径"));
jpanel1.add("Center", textClassPath);
jpanel1.add("East", buttonClassPath);
JPanel jpanel2 = new JPanel();
jpanel2.setLayout(new BorderLayout(5, 0));
jpanel2.add("North", new JLabel("浏览器路径"));
jpanel2.add("Center", textBrowserPath);
jpanel2.add("East", buttonBrowserPath);
JPanel jpanel3 = new JPanel();
jpanel3.setLayout(new BorderLayout(5, 0));
jpanel3.add("North", new JLabel("帮助文档"));
jpanel3.add("Center", textReferenceUrl);
panelTab1.setLayout(new BorderLayout(0, 10));
JPanel jpanel4 = new JPanel();
jpanel4.setLayout(new GridLayout(4, 1, 0, 5));
jpanel4.add(jpanel);
jpanel4.add(jpanel1);
jpanel4.add(jpanel2);
jpanel4.add(jpanel3);
panelTab1.add("North", jpanel4);
buttonJavaPath.addActionListener(this);
buttonClassPath.addActionListener(this);
buttonBrowserPath.addActionListener(this);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -