Professional Documents
Culture Documents
*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.filechooser.*;
import java.io.*;
JMenu mFile,mEdit,mBuild;
JPopupMenu pop1;
JMenuItem mNew,mOpen,mSave,mSaveAs,mExit;
JMenuItem mCut,mCopy,mPaste,mFind,mFindNext,mFindReplace;
JMenuItem mCompile,mRun;
JTextArea textArea,textArea2;
JSplitPane splitPane;
JScrollPane scrollPane1,scrollPane2;
JTabbedPane tabbedPane;
ImageIcon icon;
Font font = new Font("ARIAL",Font.PLAIN,20);
static String currentDir = "";
Notepad()
{
frame = new JFrame("Notepad");
frame.add(menubar);
frame.setJMenuBar(menubar); // SET
the MENU BAR at TOP
mEdit.add(mCut);
mEdit.add(mCopy);
mEdit.add(mPaste); // ADD menus items(of
EDIT) to MENU
mEdit.add(mFind);
mEdit.add(mFindNext);
mEdit.add(mFindReplace);
mBuild.add(mCompile);
mBuild.add(mRun); // ADD menus items(of
BUILD) to MENU
menubar.add(mFile);
menubar.add(mEdit); // ADD Menus to "MENU BAR"
menubar.add(mBuild);
frame.setVisible(true);
// tabCount = tabbedPane.getTabCount();
// System.out.println (tabCount);
//-------------------------Add Action
Listners-------------------------------------------------
mNew.addActionListener(this);
mOpen.addActionListener(this);
mSave.addActionListener(this);
mSaveAs.addActionListener(this);
mExit.addActionListener(this);
mCut.addActionListener(this);
mCopy.addActionListener(this);
mPaste.addActionListener(this);
mFind.addActionListener(this);
mFindNext.addActionListener(this);
mFindReplace.addActionListener(this);
mRun.addActionListener(this);
mCompile.addActionListener(this);
//--------------------------------------------------------------------------------------------
JMenuItem mi = (JMenuItem)ae.getSource();
JFileChooser fileChooser = new
JFileChooser("c:\\Users\\ANKIT\\Desktop\\ankit");
tabCount = tabbedPane.getTabCount();
if(mi == mNew)
{
JTextArea jta2 = new JTextArea();
jta.setFont(font);
tabCount = tabbedPane.getTabCount();
System.out.println (tabCount);
tabbedPane.addTab("Untitled - File",new
JScrollPane(jta2));
tabbedPane.setSelectedIndex(tabCount);
}
System.out.println (Notepad.this);
int s = fileChooser.showOpenDialog(null);
System.out.println (JFileChooser.APPROVE_OPTION);
System.out.println (s);
if (s == JFileChooser.APPROVE_OPTION)
{
tabCount = tabbedPane.getTabCount();
System.out.println (tabCount);
tabbedPane.addTab(fileChooser.getName(file),new JScrollPane(jta2));
jta2.setText(str);
jta2.setFont(font);
//jta.getActions();
tabbedPane.setSelectedIndex(tabCount);
//Set FOCUS to a tab in a JTabbedPane
r.close();
}
}
String tabTitle =
tabbedPane.getTitleAt(tabbedPane.getSelectedIndex());
if((!(tabTitle.equals("Untitled - File")) && !(mi ==
mSaveAs)) || compileSave == true)
{
System.out.println ("I am here");
b[j] = (byte)str[j];
System.out.print((char)b[j]);
}
fos.write(b);
fos.flush();
fos.close();
}
else
{
File file =
saveFileChooser.getSelectedFile();
Writer wr = new
FileWriter(saveFileChooser.getCurrentDirectory()+"\\"+file.getName());
currentDir =
""+saveFileChooser.getCurrentDirectory();
String str = jta.getText();
wr.write(str);
wr.flush(); // flush the stream
//JTabbedPane tbPane =
(JTabbedPane)tabbedPane.getTabComponentAt(i);
tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(),file.getName());
wr.close();
}
}
}
selectedText = jta.getSelectedText();
System.out.println (jta.getSelectedText());
jta.replaceRange("",jta.getSelectionStart(),jta.getSelectionEnd());
}
else if(mi == mPaste)
{
jta.replaceSelection(selectedText);
}
if(findNext.length()!=0)
{
int j = str2.indexOf(findNext,indexOfString);
if(j==-1)
{
indexOfString = 0;
j = str2.indexOf(findNext,indexOfString);
}
}
if(mi == mCompile)
{
textArea2.setText("");
System.out.println ("I am in compile");
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("javac.exe
"+tabbedPane.getTitleAt(i));
BufferedReader input = new BufferedReader(new
InputStreamReader(process.getErrorStream()));
String line = null;
if((line=input.readLine())!= null)
{ textArea2.append(line+"\n");
while((line=input.readLine())!=null)
{
textArea2.append(line+"\n");
}
}
else
{
textArea2.setText("Process Successfully
Completed");
}
if(mi == mRun)
{
if((line=output.readLine())!= null)
{ textArea2.append(line+"\n");
while((line=output.readLine())!=null)
{
textArea2.append(line+"\n");
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new Notepad();
}
}