home *** CD-ROM | disk | FTP | other *** search
Wrap
import java.awt.Button; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Event; import java.awt.FileDialog; import java.awt.Font; import java.awt.Frame; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Insets; import java.awt.Label; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.Panel; import java.awt.TextArea; import java.awt.Window; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.FilterInputStream; import java.io.IOException; import java.io.PrintStream; import java.io.StringBufferInputStream; import java.util.Hashtable; import java.util.Properties; public class JADI extends Frame { String CurrentFullPath; String CurrentFileName; String CurrentDirectory; FileDialog file_dialog; FilenameFilter filter = new EndsWithFilter("java"); Runtime theRuntimeObject; TextArea editWindow; MenuBar theMenus = new MenuBar(); Menu file = new Menu("File"); Menu help; Panel theButtonsPanel; Panel editWindowPanel; Panel theTitlePanel; Button compile; Button open; Button save; Button options; Button crHTML; Button testApp; Button quit; GridBagLayout gridbag = new GridBagLayout(); Label titleLabel; Frame HTMLWindow; jadiOptions JadiOptionsWindow = new jadiOptions(this); public JADI(String var1) { super(var1); this.file.add(new MenuItem("Open")); this.file.add(new MenuItem("Save")); this.file.add(new MenuItem("Save as")); this.file.addSeparator(); this.file.add(new MenuItem("Compile")); this.file.add(new MenuItem("Test")); this.file.addSeparator(); this.file.add(new MenuItem("Exit")); this.theMenus.add(this.file); this.help = new Menu("Help"); this.help.add(new MenuItem("Help")); this.help.addSeparator(); this.help.add(new MenuItem("About...")); this.theMenus.add(this.help); this.theMenus.setHelpMenu(this.help); this.theButtonsPanel = new Panel(); this.compile = new Button("Compile"); this.open = new Button("Open"); this.save = new Button("Save"); this.quit = new Button("Quit"); this.testApp = new Button("Test"); this.compile.setFont(new Font("Helvetica", 3, 16)); this.open.setFont(new Font("Helvetica", 3, 16)); this.save.setFont(new Font("Helvetica", 3, 16)); this.quit.setFont(new Font("Helvetica", 3, 16)); this.testApp.setFont(new Font("Helvetica", 3, 16)); this.theButtonsPanel.setLayout(new GridLayout(7, 1, 0, 15)); this.theButtonsPanel.add(this.compile); this.theButtonsPanel.add(this.testApp); this.theButtonsPanel.add(this.open); this.theButtonsPanel.add(this.save); this.theButtonsPanel.add(this.quit); this.editWindowPanel = new Panel(); this.editWindow = new TextArea(30, 60); this.editWindowPanel.add(this.editWindow); this.theTitlePanel = new Panel(); this.theTitlePanel.setLayout(this.gridbag); this.titleLabel = new Label("Java Application Development Interface"); this.titleLabel.setFont(new Font("TimesRoman", 3, 24)); constrain(this.theTitlePanel, this.titleLabel, 0, 0, 1, 1, 0, 10, (double)1.0F, (double)1.0F, 0, 0, 0, 0); ((Frame)this).setMenuBar(this.theMenus); ((Component)this).setBackground(Color.white); ((Container)this).setLayout(this.gridbag); constrain(this, this.theTitlePanel, 0, 0, 3, 1, 1, 10, (double)1.0F, (double)1.0F, 15, 0, 0, 0); constrain(this, this.editWindowPanel, 0, 1, 2, 1, 1, 10, (double)1.0F, (double)1.0F, 15, 5, 15, 5); constrain(this, this.theButtonsPanel, 2, 1, 1, 1, 3, 11, (double)1.0F, (double)1.0F, 15, 15, 15, 15); ((Window)this).pack(); ((Window)this).show(); ((Component)this).move(300, 75); this.JadiOptionsWindow.show(); this.JadiOptionsWindow.move(40, 100); } public boolean handleEvent(Event var1) { if (var1.id == 201) { this.clickQuit(); return true; } else { if (var1.target instanceof Button) { if (var1.target == this.compile) { this.clickCompile(); } else if (var1.target == this.testApp) { this.clickTest(); } else if (var1.target == this.open) { this.clickOpen(); } else if (var1.target == this.save) { this.clickSave(); } else if (var1.target == this.quit) { this.clickQuit(); } } else if (var1.target instanceof MenuItem) { if ((String)var1.arg == "Compile") { this.clickCompile(); } else if ((String)var1.arg == "Test") { this.clickTest(); } else if ((String)var1.arg == "Save") { this.clickSave(); } else if ((String)var1.arg == "Save as") { this.clickSaveAs(); } else if ((String)var1.arg == "Open") { this.clickOpen(); } else if ((String)var1.arg == "Exit") { this.clickQuit(); } else if ((String)var1.arg == "Help") { this.clickHelp(); } else if ((String)var1.arg == "About...") { this.clickAbout(); } } return super.handleEvent(var1); } } public static void constrain(Container var0, Component var1, int var2, int var3, int var4, int var5, int var6, int var7, double var8, double var10, int var12, int var13, int var14, int var15) { GridBagConstraints var16 = new GridBagConstraints(); var16.gridx = var2; var16.gridy = var3; var16.gridheight = var5; var16.gridwidth = var4; var16.gridheight = var5; var16.fill = var6; var16.anchor = var7; var16.weightx = var8; var16.weighty = var10; if (var12 + var14 + var13 + var15 > 0) { var16.insets = new Insets(var12, var13, var14, var15); } ((GridBagLayout)var0.getLayout()).setConstraints(var1, var16); var0.add(var1); } public static void constrain(Container var0, Component var1, int var2, int var3, int var4, int var5) { constrain(var0, var1, var2, var3, var4, var5, 0, 18, (double)0.0F, (double)0.0F, 0, 0, 0, 0); } public static void constrain(Container var0, Component var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { constrain(var0, var1, var2, var3, var4, var5, 0, 18, (double)0.0F, (double)0.0F, var6, var7, var8, var9); } protected void clickCompile() { this.JadiOptionsWindow.clearOutputArea(); if (this.CurrentFileName != null) { this.theRuntimeObject = Runtime.getRuntime(); String var1 = new String(); if (!this.JadiOptionsWindow.isShowing()) { this.JadiOptionsWindow.show(); } this.JadiOptionsWindow.toFront(); this.JadiOptionsWindow.setOutput("Working . . .", Color.black); try { String var3 = new String("javac \"" + this.CurrentFullPath + "\""); this.JadiOptionsWindow.setCommandLine(var3, Color.black); Process var4 = this.theRuntimeObject.exec(var3); DataInputStream var5 = new DataInputStream(var4.getInputStream()); String var2; while((var2 = var5.readLine()) != null) { var1 = var1 + "\n" + var2; this.JadiOptionsWindow.setOutput(var1, Color.black); } var4.waitFor(); if (var4.exitValue() == 0) { var1 = var1 + "\n" + "Compile Complete"; this.JadiOptionsWindow.setCommandLine("Compile Complete", Color.blue); this.JadiOptionsWindow.setOutput(var1, Color.blue); } else { var1 = var1 + "\n" + "Compile Complete - Errors found"; this.JadiOptionsWindow.setCommandLine("Compile Errors", Color.red); this.JadiOptionsWindow.setOutput(var1, Color.red); } } catch (Exception var6) { this.JadiOptionsWindow.setCommandLine("Error: Error occurred during compile", Color.red); this.JadiOptionsWindow.setOutput("The following error occured during the compile\nprocess:\n\n" + ((Throwable)var6).toString() + "\n", Color.red); System.out.println(var6); ((Throwable)var6).printStackTrace(); } } } protected void clickTest() { this.JadiOptionsWindow.clearOutputArea(); if (this.CurrentFileName != null) { this.theRuntimeObject = Runtime.getRuntime(); String var1 = new String(); if (!this.JadiOptionsWindow.isShowing()) { this.JadiOptionsWindow.show(); } this.JadiOptionsWindow.toFront(); this.JadiOptionsWindow.setOutput("Working . . .", Color.black); String var3 = new String(this.CurrentFileName.substring(0, this.CurrentFileName.lastIndexOf("."))); String var4; if (this.JadiOptionsWindow.getProjectType().equals("Applet")) { if (this.JadiOptionsWindow.getHTMLFileName() == null) { this.JadiOptionsWindow.setCommandLine("Please Enter A HTML File Name", Color.red); this.JadiOptionsWindow.setOutput("In order to test an applet you must provide or \nhave the program create an HTML file", Color.red); return; } var4 = new String("appletviewer \"file://" + this.JadiOptionsWindow.getHTMLFileName()); } else { var4 = new String("java " + var3 + " " + this.JadiOptionsWindow.getCmdLineArgs()); Properties var5 = new Properties(System.getProperties()); ((Hashtable)var5).put("user.dir", this.CurrentDirectory.replace('\\', '/')); System.setProperties(var5); } var4 = var4.replace('\\', '/'); this.JadiOptionsWindow.setCommandLine(var4, Color.black); try { Process var11 = this.theRuntimeObject.exec(var4); DataInputStream var6 = new DataInputStream(var11.getInputStream()); String var2; while((var2 = var6.readLine()) != null) { var1 = var1 + "\n" + var2; this.JadiOptionsWindow.setOutput(var1, Color.black); } var11.waitFor(); if (var11.exitValue() == 0) { var1 = var1 + "\n" + "Program Exited Normally"; this.JadiOptionsWindow.setCommandLine("Program Exited Normally", Color.blue); this.JadiOptionsWindow.setOutput(var1, Color.blue); } else { var1 = var1 + "\n" + "Program Exited With Errors"; this.JadiOptionsWindow.setCommandLine("Program Exited With Errors", Color.red); this.JadiOptionsWindow.setOutput(var1, Color.red); } } catch (Exception var7) { this.JadiOptionsWindow.setCommandLine("Error: Error occurred during testing", Color.red); this.JadiOptionsWindow.setOutput("The following error occured during the testing\nprocess:\n\n" + ((Throwable)var7).toString() + "\n", Color.red); System.out.println(var7); ((Throwable)var7).printStackTrace(); } } } protected void clickOpen() { this.file_dialog = new FileDialog(this, "Open Dialog", 0); this.file_dialog.setFilenameFilter(this.filter); this.file_dialog.show(); if (this.file_dialog.getFile() != null) { this.CurrentDirectory = this.file_dialog.getDirectory(); this.CurrentFileName = this.file_dialog.getFile(); this.CurrentFullPath = this.CurrentDirectory + this.CurrentFileName; this.readFile(); } this.file_dialog.dispose(); this.file_dialog = null; } protected void clickSave() { if (this.CurrentFullPath == null) { this.clickSaveAs(); } else { this.writeFile(); } } protected void clickSaveAs() { this.file_dialog = new FileDialog(this, "Save Dialog", 1); this.file_dialog.show(); if (this.file_dialog.getFile() != null) { this.CurrentFileName = this.file_dialog.getFile(); this.CurrentDirectory = this.file_dialog.getDirectory(); this.CurrentFullPath = this.CurrentDirectory + this.CurrentFileName; } this.file_dialog = null; this.writeFile(); } protected void clickHelp() { } protected void clickAbout() { } protected void clickQuit() { ((Component)this).hide(); ((Frame)this).dispose(); System.exit(0); } public void readFile() { File var1 = new File(this.CurrentFullPath); int var2 = (int)var1.length(); int var3 = 0; byte[] var4 = new byte[var2]; try { FileInputStream var5; for(var5 = new FileInputStream(this.CurrentFullPath); var3 < var2; var3 += var5.read(var4, var3, var2 - var3)) { } var5.close(); } catch (IOException var6) { System.out.println(var6); this.clickQuit(); } this.editWindow.setText(new String(var4, 0)); } public void writeFile() { String var1 = this.editWindow.getText(); try { PrintStream var4 = new PrintStream(new FileOutputStream(this.CurrentFullPath)); DataInputStream var3 = new DataInputStream(new StringBufferInputStream(var1)); String var2; while((var2 = var3.readLine()) != null) { var4.print(var2 + System.getProperty("line.separator")); } ((FilterInputStream)var3).close(); var4.close(); } catch (IOException var6) { System.out.println(var6); this.clickQuit(); } } public static void main(String[] var0) { new JADI("JADI beta"); } }