MyJcreator - program for java complilation and run, version 1 built 6

1 view
Skip to first unread message

uit...@yahoo.com

unread,
Aug 13, 2006, 7:21:57 AM8/13/06
to Open Projects For All
//future enhancements : use of textpane

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;


class MyJCreator extends JFrame
{


Process p =null; // used for executing javac

JMenuBar topBar ;
JMenu menuFile , menuEdit , menuHelp ;
JMenuItem itmNew , itmOpen , itmSave , itmClose , itmCopy , itmCut ,
itmPaste , itmAbout ;
JTextArea tAreaEditor ;
JFileChooser myFileChooser , mySaveFile ;
Container c ;
String savedFileName;


JButton buttonCompile , buttonRun ;
MyJCreator ()
{
super("My JCreator ");
c = getContentPane();
c.setLayout(new BorderLayout());

//adding the text editor

tAreaEditor = new JTextArea (20,40);
tAreaEditor .setLineWrap(true) ;

//creating the button for compilation and running
buttonCompile = new JButton("Compile");
buttonRun = new JButton("Run");


//creates the new file chooser
myFileChooser = new JFileChooser();
mySaveFile = new JFileChooser();

topBar = new JMenuBar ();

// adding contents for the menu --> file

menuFile = new JMenu ("File");

itmNew = new JMenuItem ("New");
itmOpen = new JMenuItem ("Open");
itmSave = new JMenuItem ("Save");
itmClose = new JMenuItem ("Close");


menuFile .add(itmNew );
menuFile .add(itmOpen );
menuFile .add( itmSave );
menuFile .add(itmClose );


topBar .add(menuFile );
//*********************************************

// adding contents for the menu --> Edit

menuEdit = new JMenu ("Edit");
itmCut = new JMenuItem ("Cut");
itmCopy = new JMenuItem ("Copy");
itmPaste = new JMenuItem ("Paste");

menuEdit .add(itmCut );
menuEdit .add(itmCopy );
menuEdit .add(itmPaste );

topBar .add(menuEdit );

//*********************************************

menuHelp = new JMenu ("Help");
itmAbout = new JMenuItem ("About");

menuHelp .add(itmAbout );
topBar .add(menuHelp );


//*********************************************

//ADDING ACTION LISTENERS FOR THE MENU
//--------------------------------------------------------------------
MyMenuListener mm1 =new MyMenuListener ();

itmNew .addActionListener(mm1);
itmSave .addActionListener(mm1);

itmOpen .addActionListener(mm1);

// edit listeners

itmCut.addActionListener(mm1);
itmPaste.addActionListener(mm1);
itmCopy.addActionListener(mm1);

// Help listeners

itmAbout.addActionListener(mm1);

//ADDING ACTION LISTENERS FOR THE 2 BUTTONS
//--------------------------------------------------------------------


MyButtonListener butLisn =new MyButtonListener ();
buttonCompile .addActionListener(butLisn );
buttonRun .addActionListener(butLisn );

setJMenuBar(topBar);

//___________________________________________________
JToolBar togglePanel = new JToolBar();

//also add the button for compilation and running
togglePanel .add(buttonCompile);
togglePanel .add(buttonRun );

c.add(togglePanel ,BorderLayout.NORTH);
//_________________________________________________


JScrollPane myScrollPane = new JScrollPane(tAreaEditor );


c.add( myScrollPane);

}

//LISTENERS FOR COMPILATION AND RUNNING

private class MyButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{

if(e.getSource() == buttonCompile )
{
Process pCompile = null;
Runtime rCompile = Runtime.getRuntime();
Runtime rt = Runtime.getRuntime();
//r.traceInstructions(true);
try
{


Process proc = rt.exec("javac OpeningIETest.java");
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
String fullList = "";

while ( (line = br.readLine()) != null)
fullList = fullList + line+"\n";

int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);

if( fullList != null)
JOptionPane.showMessageDialog(null, fullList, "Compile
errors",JOptionPane.ERROR_MESSAGE ) ;

System.out.println(fullList);

pCompile = rCompile
.exec("D:\\j2sdk1.4.2_08\\bin\\javac OpeningIETest.java" );

}


catch(Exception ex)
{
}

}//end of if condition


if(e.getSource() == buttonRun )
{
Process pRun = null;
Runtime rRun = Runtime.getRuntime();
try
{
System.out.println("trying to run the program");
pRun = rRun .exec("D:\\j2sdk1.4.2_08\\bin\\java OpeningIETest" );
}
catch(Exception ex)
{
}
}//end of if condition

} //end of actionPerformed
} // end of inner class


private class MyMenuListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{

if( e.getSource() == itmNew )
tAreaEditor.setText("");

if( e.getSource() == itmOpen )
myFileChooser.showOpenDialog(c) ;

if( e.getSource() == itmSave)
{
PrintWriter pw;
FileOutputStream outputfile;

int returnval = mySaveFile .showSaveDialog(c) ;
File f =mySaveFile .getSelectedFile() ;


savedFileName = f.getPath() ;

System.out.println("The path of the file is: "+ savedFileName );
try {

outputfile = new FileOutputStream( savedFileName );
//
byte data[] =tAreaEditor .getText().getBytes();
outputfile.write(data);

}

catch(Exception excp)
{
System.out.println("get the hell out of here");
}

}


if( e.getSource() == itmCut )
tAreaEditor.cut();

if( e.getSource() == itmCopy )
tAreaEditor.copy();

if( e.getSource() == itmPaste )
tAreaEditor.paste();


if( e.getSource() == itmAbout )
JOptionPane.showMessageDialog(null, "name: Justin"+
"\n\nLicense:GNU GPL"+
"\n\ne-mail: just...@gmail.com");

}
}

}
class MyJCreatorTest
{
public static void main(String args[])
{
MyJCreator m1 = new MyJCreator ();
m1.setSize(480,400);
m1.setVisible(true);
m1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}


//************************************************

uit...@yahoo.com

unread,
Aug 13, 2006, 7:24:40 AM8/13/06
to Open Projects For All
//CODE FOR MYFILECHOOSER DEMO
//required for future versions of MyJCreator, namely built 7


import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;

/*
* FileChooserDemo.java uses these files:
* images/Open16.gif
* images/Save16.gif
*/
public class FileChooserDemo extends JPanel
implements ActionListener {
static private final String newline = "\n";
JButton openButton, saveButton;
JTextArea log;
JFileChooser fc;

public FileChooserDemo() {
super(new BorderLayout());

//Create the log first, because the action listeners
//need to refer to it.
log = new JTextArea(5,20);
log.setMargin(new Insets(5,5,5,5));
log.setEditable(false);
JScrollPane logScrollPane = new JScrollPane(log);

//Create a file chooser
fc = new JFileChooser();

//Uncomment one of the following lines to try a different
//file selection mode. The first allows just directories
//to be selected (and, at least in the Java look and feel,
//shown). The second allows both files and directories
//to be selected. If you leave these lines commented out,
//then the default mode (FILES_ONLY) will be used.
//
//fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

//Create the open button. We use the image from the JLF
//Graphics Repository (but we extracted it from the jar).
openButton = new JButton("Open a File...",
createImageIcon("images/Open16.gif"));
openButton.addActionListener(this);

//Create the save button. We use the image from the JLF
//Graphics Repository (but we extracted it from the jar).
saveButton = new JButton("Save a File...",
createImageIcon("images/Save16.gif"));
saveButton.addActionListener(this);

//For layout purposes, put the buttons in a separate panel
JPanel buttonPanel = new JPanel(); //use FlowLayout
buttonPanel.add(openButton);
buttonPanel.add(saveButton);

//Add the buttons and the log to this panel.
add(buttonPanel, BorderLayout.PAGE_START);
add(logScrollPane, BorderLayout.CENTER);
}

public void actionPerformed(ActionEvent e) {

//Handle open button action.
if (e.getSource() == openButton) {
int returnVal = fc.showOpenDialog(FileChooserDemo.this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would open the file.
log.append("Opening: " + file.getName() + "." +
newline);
} else {
log.append("Open command cancelled by user." +
newline);
}
log.setCaretPosition(log.getDocument().getLength());

//Handle save button action.
} else if (e.getSource() == saveButton) {
int returnVal = fc.showSaveDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would save the file.
log.append("Saving: " + file.getName() + "." +
newline);
} else {
log.append("Save command cancelled by user." +
newline);
}
log.setCaretPosition(log.getDocument().getLength());
}
}

/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = FileChooserDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}

/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("FileChooserDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Create and set up the content pane.
JComponent newContentPane = new FileChooserDemo();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);

//Display the window.
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
//*********************************

Reply all
Reply to author
Forward
Message has been deleted
0 new messages