📄 javaide.java
字号:
File file2 = new File(editor.getCurrentParent() + "/"
+ editor.getOnlyName() + ".html");
if (!file2.exists()) {
BufferedWriter bufferedwriter1 = new BufferedWriter(
new FileWriter(file2));
bufferedwriter1.write("<APPLET WIDTH=\"" + k
+ "\" HEIGHT=\"" + l + "\" CODE=\"" + name
+ "\"></APPLET>");
bufferedwriter1.close();
}
}
Runtime.getRuntime().exec(
config.getBrowserPath() + " " + runfile.getAbsolutePath());
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(),
"JavaIDE : 运行", 1);
}
}
String toNamePart(String fileName) {
int point = toPathLsatIndex(fileName);
int length = fileName.length();
if (point == -1) {
return fileName;
} else if (point == length - 1) {
int secondPoint = toPathLsatIndex(fileName, point - 1);
if (secondPoint == -1) {
if (length == 1) {
return fileName;
} else {
return fileName.substring(0, point);
}
} else {
return fileName.substring(secondPoint + 1, point);
}
} else {
return fileName.substring(point + 1);
}
}
int toPathLsatIndex(String fileName) {
int point = fileName.lastIndexOf('/');
if (point == -1) {
point = fileName.lastIndexOf('\\');
}
return point;
}
int toPathLsatIndex(String fileName, int fromIndex) {
int point = fileName.lastIndexOf('/', fromIndex);
if (point == -1) {
point = fileName.lastIndexOf('\\', fromIndex);
}
return point;
}
public void runJavaDoc() {
Editor editor = getCurrentEditor();
String name = getName(editor, 1);
if (editor.getCurrentFile() != null) {
if (!(new File(name + ".java")).exists()) {
JOptionPane.showMessageDialog(this, "没有找到java文件!",
"JavaIDE : 运行", 1);
return;
}
} else {
JOptionPane
.showMessageDialog(this, "当前文档未保存!", "JavaIDE : 编译文件", 1);
return;
}
name = getName(editor, 0);
String result = "";
String path = editor.getCurrentParent() + config.getClassPath();
try {
Process process = null;
String as = config.getJavaPath()
+ "javadoc -d loonframeworkdoc "
+ path
+ File.separator
+ name
+ ".java"
+ " -version -author -footer chenpeng -header loonframework";
process = Runtime.getRuntime().exec(as, null,
new File(editor.getCurrentParent()));
BufferedReader bufferedreader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String value;
while ((value = bufferedreader.readLine()) != null)
result = result + value + "\n";
bufferedreader.close();
bufferedreader = new BufferedReader(new InputStreamReader(process
.getErrorStream()));
while ((value = bufferedreader.readLine()) != null)
result = result + value + "\n";
bufferedreader.close();
if (result.equals(""))
result = "操作完毕";
Runtime.getRuntime().exec(
config.getBrowserPath() + " " + path + File.separator
+ "loonframeworkdoc" + File.separator
+ "index.html");
labelState.setText(result);
} catch (Exception ex) {
}
}
/**
* 保存文件
*
*/
public void saveAs() {
Editor editor = getCurrentEditor();
int i;
File file;
File file1;
int j;
if (editor.getCurrentFile() != null)
fileChooser
.setCurrentDirectory(new File(editor.getCurrentParent()));
i = fileChooser.showSaveDialog(contentPane);
if (i != JFileChooser.APPROVE_OPTION)
return;
file = fileChooser.getSelectedFile();
String s = file.getName();
if (s.indexOf('.') == -1)
file = new File(file.getAbsolutePath() + ".java");
file1 = editor.getCurrentFile();
j = 0;
if (j != tabPane.getSelectedIndex()
&& file.equals(((Editor) vectorEdit.elementAt(j))
.getCurrentFile())) {
JOptionPane.showMessageDialog(this, "请输入保存的文件名", "JavaIDE : 保存", 1);
return;
}
j++;
if (editor.setCurrentFile(file)) {
int k = JOptionPane.showConfirmDialog(this, editor
.getCurrentAbusolutePath()
+ "\n文件已经存在,是否继续保存?", "JavaIDE : 保存", 2);
if (k == 0) {
try {
editor.saveFile();
} catch (Exception e) {
e.printStackTrace();
}
labelState.setText(editor.getCurrentAbusolutePath() + "保存完毕");
tabPane.setTitleAt(tabPane.getSelectedIndex(), editor
.getCurrentName());
} else {
editor.setCurrentFile(file1);
labelState.setText("取消保存");
}
} else {
try {
editor.saveFile();
} catch (Exception e) {
e.printStackTrace();
}
labelState.setText(editor.getCurrentAbusolutePath() + "保存完毕");
tabPane.setTitleAt(tabPane.getSelectedIndex(), editor
.getCurrentName());
}
if (i == 1) {
labelState.setText("取消保存");
JOptionPane.showMessageDialog(this, editor.getCurrentName()
+ "保存失败!", "JavaIDE : 保存", 0);
}
}
public void saveAsHTML() {
Editor editor = getCurrentEditor();
try {
if (editor.getCurrentFile() != null) {
if ((new File(editor.getPathOnlyName() + ".html")).exists()) {
int i = JOptionPane.showConfirmDialog(this, editor
.getPathOnlyName()
+ ".html\n文件已经存在,是否继续保存?", "JavaIDE : 保存", 2);
if (i == 0) {
editor.saveHTML(editor.getPathOnlyName() + ".html");
labelState.setText(editor.getPathOnlyName()
+ ".html 保存");
} else {
labelState.setText("取消保存");
}
} else {
editor.saveHTML(editor.getPathOnlyName() + ".html");
labelState.setText(editor.getPathOnlyName() + ".html保存完毕");
}
} else {
JOptionPane.showMessageDialog(this, "没有打开的JAVA文档,无法保存为html文件!",
"JavaIDE : 保存", 1);
}
} catch (Exception ex) {
labelState.setText(editor.getCurrentAbusolutePath() + "保存失败!");
}
}
void overWrite() {
Editor editor = getCurrentEditor();
try {
if (editor.getCurrentFile() != null) {
editor.saveFile();
labelState.setText(editor.getCurrentAbusolutePath() + "保存完毕");
} else {
saveAs();
}
} catch (Exception ex) {
labelState.setText(ex.getMessage());
}
}
void finalCheck() {
for (int i = 0; i < vectorEdit.size(); i++) {
Editor editor = (Editor) vectorEdit.elementAt(i);
String s2 = editor.getText();
if (editor.changeDocument()) {
String s3 = editor.getCurrentName();
if (s3 == null)
s3 = "未命名";
String s1 = "第" + (i + 1) + "行" + s3 + "列";
int j = JOptionPane.showConfirmDialog(this, s1, "JavaIDE : 确定",
0);
if (j == 0)
overWriteForEnd(editor, s2);
}
}
config.setSizeX(getSize().width);
config.setSizeY(getSize().height);
config.setLocationX((int) getLocation().getX());
config.setLocationY((int) getLocation().getY());
config.setLastLookAndFeel(LookAndFeel.lookCount);
Editor editor1 = (Editor) vectorEdit.elementAt(0);
if (editor1.getCurrentFile() != null)
config.setLastFolder(editor1.getCurrentParent());
configDialog.setConfig();
System.exit(0);
}
void overWriteForEnd(Editor editor, String s) {
try {
if (editor.getCurrentFile() != null) {
editor.saveFileForEnd(s);
} else {
labelState.setText("打印完毕");
saveAsForEnd(editor, s);
}
} catch (Exception ex) {
}
}
public void saveAsForEnd(Editor editor, String s) {
try {
int i = fileChooser.showSaveDialog(contentPane);
if (i == 0) {
File file = fileChooser.getSelectedFile();
if (editor.setCurrentFile(file)) {
int j = JOptionPane
.showConfirmDialog(
this,
editor.getCurrentAbusolutePath()
+ "\n\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F",
"JavaIDE : \u7F6E\u63DB运行", 2);
if (j == 0)
editor.saveFileForEnd(s);
} else {
editor.saveFileForEnd(s);
}
}
} catch (Exception ex) {
}
}
public void setLookAndFeel() {
LookAndFeel.setLookAndFeel(contentPane);
searchDialog.setLookAndFeel();
configDialog.setLookAndFeel();
fileChooser.updateUI();
fileChooser.setFileFilter(ff);
}
/**
* 返回所在路径名
*
* @param editor
* @param i
* @return
*/
public String getName(Editor editor, int i) {
String s = "";
if (editor.getCurrentFile() != null) {
String s1 = "";
if (i == 0)
s1 = editor.getCurrentName();
else
s1 = editor.getCurrentAbusolutePath();
StringTokenizer stringtokenizer = new StringTokenizer(s1, ".");
for (String s2 = ""; stringtokenizer.hasMoreTokens(); s2 = stringtokenizer
.nextToken())
if (s.equals(""))
s = s + s2;
else
s = s + "." + s2;
}
return s;
}
public Editor addNewElement() {
Editor editor = new Editor(config);
tabPane.addTab("未命名", null, editor.getPanel(), "编辑");
try {
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);
} catch (Exception ex) {
}
vectorEdit.addElement(editor);
editor.getJavaText().addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent mouseevent) {
if (mouseevent.isPopupTrigger())
popMenu.show(mouseevent.getComponent(), mouseevent.getX(),
mouseevent.getY());
}
});
return editor;
}
public Editor getCurrentEditor() {
return (Editor) vectorEdit.elementAt(tabPane.getSelectedIndex());
}
public void catchFocus() {
getCurrentEditor().getJavaText().requestFocus();
}
public String addDoubleQuote(String s) {
return "\"" + s + "\"";
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
try {
new JavaIDE();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -