aspose file tools*
The moose likes Java in General and the fly likes Exception Null Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Exception Null" Watch "Exception Null" New topic
Author

Exception Null

rahul soni
Greenhorn

Joined: Aug 22, 2005
Posts: 24
import java.sql.*;
import javax.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.crypto.Cipher;
import java.security.Key;
import javax.crypto.KeyGenerator;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
import java.security.InvalidKeyException;

public class NewEncryption extends JFrame implements ActionListener
{
private static String algorithm = "AES";
private static Key key = null;
private static Cipher cipher = null;
ResultSet rs;
Connection con;
Connection con1;
Statement st;
String str = null;
PreparedStatement pst;
JLabel UI = new JLabel("User ID:");
JLabel pw = new JLabel("Password:");
JTextField UIt = new JTextField(20);
JTextField PWt = new JTextField(20);

JButton SingIn = new JButton("Sing In");
JButton SingUp = new JButton("Sing Up");

JPanel p = new JPanel();
JFrame f = new JFrame();

public NewEncryption()
{

this.setSize(800,600);
getContentPane().setLayout( null);

UI.setBounds(100,100,105,105);//User Label
UIt.setBounds(175,140,190,25);// User Text
getContentPane().add(UIt);
getContentPane().add(UI);

pw.setBounds(100,200,190,25);//Passsword Label
PWt.setBounds(175,200,190,25); //password Text
getContentPane().add(pw);
getContentPane().add(PWt);


SingIn.setBounds(400,400,100,30);
getContentPane().add(SingIn);
SingIn.setActionCommand("Sing In");
SingIn.addActionListener(this);


SingUp.setBounds(600,400,100,30);
getContentPane().add(SingUp);
SingUp.setActionCommand("Sing Up");
SingUp.addActionListener(this);
}

public void actionPerformed(ActionEvent e)
{
String str = e.getActionCommand();
try{
if(str.equals("Sing In"))
{
SingIn();
}
else if(str.equals("Sing Up"))
{
SingUp();
}
} catch(Exception E){System.out.print("ERR:\t"+E.getMessage());}
}
public static void main(String[] args)
{
NewEncryption N = new NewEncryption();
N.setVisible(true);
}

public void SingIn()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(Exception e) {System.out.print("Message:"+e.getMessage());}
try
{
String UI = UIt.getText();
// String PS = encrypt( PWt.getText() );
con1 = DriverManager.getConnection("jdbc dbc:students","scott","tiger");
pst = con1.prepareStatement("select * from login where id='"+UI+"' ");
rs = pst.executeQuery( );
//System.out.print("show:"+UI);
while(rs.next())
{
/*if(PS.equals(rs.getString(2)))
{System.out.print("Welcome");}
else
{System.out.print("Sorry");}*/
String str = rs.getString(2);
String str1 = decrypt(str);
System.out.print("show:"+str);
}

//con1.close();
//pst.close();
}catch(SQLException sql){System.out.print("SQLException:"+sql.getMessage());}
catch(InvalidKeyException in){System.out.print("Invlid:"+in.getMessage());}
catch(BadPaddingException bd){System.out.print("Invlid:"+bd.getMessage());}
catch(IllegalBlockSizeException lb){System.out.print("Invlid:"+lb.getMessage());}
catch(Exception e){System.out.print("IN:"+e.getMessage());}

//catch(Exception n) {System.out.print("exc:"+n.getMessage());}

}


//shantibhushan
public void SingUp() //throws Exception
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(Exception e) {System.out.print("Message:"+e.getMessage());}
try
{
String UI = UIt.getText();
String PS = encrypt( PWt.getText() );
con1 = DriverManager.getConnection("jdbc dbc:students","scott","tiger");
pst = con1.prepareStatement("insert into login(id,psw)values(?,?)" );
pst.setString(1,UIt.getText());
pst.setString(2,PS.toString());
pst.executeQuery();
System.out.print("Coooo"+UI+":"+PS);

//con1.close();
//pst.close();
}catch(SQLException sql){System.out.print("SQLException"+sql.getMessage());}

catch(Exception n) {System.out.print("exc:"+n.getMessage());}

}

private static void setUp() throws Exception
{
key = KeyGenerator.getInstance(algorithm).generateKey();
cipher = Cipher.getInstance(algorithm);
}

public static String encrypt(String input) throws
InvalidKeyException,
BadPaddingException,
IllegalBlockSizeException,
Exception
{

cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encrypted =cipher.doFinal(input.getBytes());
String strs = cipher.doFinal(encrypted).toString();
return strs;
}
private static String decrypt(String encryptionBytes)
throws InvalidKeyException,
BadPaddingException,
IllegalBlockSizeException,
Exception
{byte[] by= encryptionBytes.getBytes();
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] recoveredBytes = cipher.doFinal(by);
String recovered = new String(recoveredBytes);

return recovered;
}
}//end NewEncry


In the abov code i getting Null Exception I've needed solution of this problem! any body have help me
plz write your suggetion with code
Rohit Soni
Greenhorn

Joined: Oct 19, 2005
Posts: 3
the problem is with the key instance variable in public static String encrypt(String input) method .key value is null "cipher.init(Cipher.DECRYPT_MODE, key);" method. and
setUp method which is setting the key value is not being called from any place.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24166
    
  30

This doesn't seem to have anything to do with Threads (the topic of this forum), and the problem doesn't have to do with the API being used; so I'd call this a general Java question. Therefore I'm going to move it to Java in General (Intermediate).

Rahul, have a look at this for info about how to post easier-to-read code on the Ranch.


[Jess in Action][AskingGoodQuestions]
rahul soni
Greenhorn

Joined: Aug 22, 2005
Posts: 24
import java.sql.*;

public class result
{
static int i =0;
public static void main(String []args) throws Exception
{ con1 instance = new con1();
ResultSet rs;

try{
rs = instance.executeQuery("select * from client_master");
while(rs.next())
{
System.out.print("\n"+rs.getString(1)+"\t");
System.out.print("\t"+rs.getString(2)+"\t");
System.out.print("\t"+rs.getString(3)+"\t");
System.out.print("\t"+rs.getString(4)+"\t");
System.out.print("\t"+rs.getString(5)+"\n");
i++;
}
System.out.print("\nnum\t"+i);i =0;

System.out.print("\n............................This is New Table.........................................................\t");
System.out.print("\n............................This is New Table.........................................................\t");
System.out.print("\n............................This is New Table.........................................................\t");
rs = instance.executeQuery("select * from product_master");
while(rs.next())
{
System.out.print("\n"+rs.getString(1)+"\t");
System.out.print("\t"+rs.getString(2)+"\t");
System.out.print("\t"+rs.getString(3)+"\t");
System.out.print("\t"+rs.getString(4)+"\t");
System.out.print("\t"+rs.getString(5)+"\t");
System.out.print("\t"+rs.getString(6)+"\t");
System.out.print("\t"+rs.getString(7)+"\n");
i++;
} System.out.print("\nnum\t"+i);i=0;

rs = instance.executeQuery("select TRUNC(TO_NUMBER(sysdate - dd)) as days from date1");
while(rs.next())
{
System.out.print("\n"+rs.getString(1));
i++;
} System.out.print("\nnum\t"+i);

}catch(SQLException sql){System.out.print("mes:"+sql.getMessage());}

}
}

///////////////////////////////////////////
import java.sql.*;
public class con1
{
staticConnection con;
static Statement st;
public con1 ()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc dbc:studnets","scott", "tiger@ora");
st =con.createStatement();
}catch(SQLException sql){System.out.print("Error1:"+sql.getMessage());}
catch(ClassNotFoundException e){System.out.print("Error"+e.getMessage());}
}
publicstatic ResultSet executeQuery(String sql) throws Exception
{
return st.executeQuery(sql);
}
}

////////////////////////////////////////////////////////////////////////
/*
* Smartpad.java
*/

//THE IMPORTED LIBRARIES
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.text.*;
import java.text.*;
import java.util.*;
import javax.swing.undo.*;
import javax.swing.event.*;
import java.net.*;

/**
* Sample application using the simple text editor component that
* supports multiple fonts.
*
* Developed by Ms. Divya Bhatt, Mr. Dilip K. Pandey & Ms. Swati Jain.
* @version 30/10/2004
*/

public class Smartpad extends JFrame
{

//ALL THE VARIABLES USED IN THIS APPLICATION
JTextArea area = new JTextArea(0,0);
JScrollPane scroller = new JScrollPane(area);

public JPopupMenu pop = new JPopupMenu();

JMenu menu = new JMenu("Edit");
JMenuItem menuItem = new JMenuItem("copy");
JMenuItem menucut = new JMenuItem("cut");
JMenuItem menuclear = new JMenuItem("clear");
JMenuItem menupaste = new JMenuItem("paste");

JToolBar toolBar = new JToolBar();

JButton newFile = new JButton(new ImageIcon("new.jpg"));
JButton openFile = new JButton(new ImageIcon("open.jpg"));
JButton saveFile = new JButton(new ImageIcon("save.jpg"));

JButton cutFile = new JButton(new ImageIcon("cut.jpg"));
JButton copyFile = new JButton(new ImageIcon("copy.jpg"));
JButton pasteFile = new JButton(new ImageIcon("paste.jpg"));

JMenuBar menuBar = new JMenuBar();

JMenu FILE = new JMenu("File");
JMenu EDIT = new JMenu("Edit");
JMenu FORMAT = new JMenu("Format");
JMenu VIEW = new JMenu("View");
JMenu HELP = new JMenu("Help");
JMenu smart = new JMenu("Smart");

JMenuItem NEWFILE = new JMenuItem("New", new ImageIcon("new.jpg"));
JMenuItem OPENFILE = new JMenuItem("Open", new ImageIcon("open.jpg"));
JMenuItem SAVEFILE = new JMenuItem("Save", new ImageIcon("save.jpg"));
JMenuItem SAVEASFILE = new JMenuItem("Save As...");
JMenuItem PRINTFILE = new JMenuItem("Print...");
JMenuItem EXITFILE = new JMenuItem("Exit");

JMenuItem UNDOEDIT = new JMenuItem("Undo");
JMenuItem REDOEDIT = new JMenuItem("Redo");
JMenuItem COPYEDIT = new JMenuItem("copy");
JMenuItem CUTEDIT = new JMenuItem("cut");
JMenuItem PASTEDIT = new JMenuItem("paste");
JMenuItem DELETEDIT = new JMenuItem("Delete");
JMenuItem FINDEDIT = new JMenuItem("Find");
JMenuItem FINDNEXTEDIT = new JMenuItem("Find Next");
JMenuItem REPLACEDIT = new JMenuItem("Replace");
JMenuItem GOTOEDIT = new JMenuItem("Go To");
JMenuItem SELECTEDIT = new JMenuItem("Select All");
JMenuItem TIMEDIT = new JMenuItem("Time/Date");

JCheckBoxMenuItem WORDFORMAT = new JCheckBoxMenuItem("Word Wrap");
JMenuItem FONT = new JMenuItem("Font");

JCheckBoxMenuItem STATUSVIEW = new JCheckBoxMenuItem("Status Bar");

JCheckBoxMenuItem spell_check = new JCheckBoxMenuItem("Spell Check");
JMenuItem ABOUT = new JMenuItem("About");

String file = null;
String fileN;

boolean opened = false;

JPanel statusPanel = new JPanel();

JLabel statusLabel;

JPanel aboutPanel = new JPanel();

int ind = 0;

StringBuffer sbufer;
String findString;

fontSelector fontS = new fontSelector();

UndoManager undo = new UndoManager();
UndoAction undoAction = new UndoAction();
RedoAction redoAction = new RedoAction();

public Smartpad()
{
//DEFAULT TITLE OF FRAME
super("Smartpad :-)");

//SETS THE SIZE
this.setSize(800,600);

//SETS THE LAYOUT
this.getContentPane().setLayout(new BorderLayout());

//SETS WORD WRAP TO TRUE AS DEFAULT
area.setLineWrap(true);

//SETS FOCUS ON THE TEXTAREA
area.requestFocus(true);

//ADDS THE SCROLLPANE CONTAINING THE TEXTAREA TO THE CONTAINER
this.getContentPane().add(scroller, BorderLayout.CENTER);

//ADDS THE STATUSPANEL
this.getContentPane().add(statusPanel, BorderLayout.SOUTH);

//TO ENABLE DRAG MODE
area.setDragEnabled(true);

//SETS THE TOOLBAR TO BE STATIC I.E DISALLOW THE USER FROM CHANGING THE DOCKING POSITION
toolBar.setFloatable(false);

//ADD THE TOOLBAR
this.getContentPane().add(toolBar, BorderLayout.NORTH);

//ADD A MOUSELISTENER TO RIGHT CLICK FOR THE POPUPLISTENER
MouseListener popupListener = new PopupListener();
area.addMouseListener(popupListener);

//UNDO LISTENER ON AREA
area.getDocument().addUndoableEditListener(new MyUndoableEditListener());


//SETS THE MENUBAR
FILE.add(NEWFILE);
FILE.add(OPENFILE);
FILE.add(SAVEFILE);
FILE.add(SAVEASFILE);
FILE.addSeparator();
FILE.add(PRINTFILE);
FILE.addSeparator();
FILE.add(EXITFILE);

EDIT.add(undoAction);
EDIT.add(redoAction);
EDIT.add(CUTEDIT);
EDIT.add(COPYEDIT);
EDIT.add(PASTEDIT);
EDIT.add(DELETEDIT);
EDIT.addSeparator();
EDIT.add(FINDEDIT);
EDIT.add(FINDNEXTEDIT);
EDIT.add(REPLACEDIT);
EDIT.add(GOTOEDIT);
EDIT.addSeparator();
EDIT.add(SELECTEDIT);
EDIT.add(TIMEDIT);

FORMAT.add(WORDFORMAT);
WORDFORMAT.setSelected(true);
FORMAT.add(FONT);

VIEW.add(STATUSVIEW);
STATUSVIEW.setSelected(true);

HELP.add(ABOUT);

smart.add(spell_check);

FILE.setMnemonic(KeyEvent.VK_F);
menuBar.add(FILE);
EDIT.setMnemonic(KeyEvent.VK_E);
menuBar.add(EDIT);
FORMAT.setMnemonic(KeyEvent.VK_T);
menuBar.add(FORMAT);
VIEW.setMnemonic(KeyEvent.VK_V);
menuBar.add(VIEW);
HELP.setMnemonic(KeyEvent.VK_H);
menuBar.add(HELP);
smart.setMnemonic(KeyEvent.VK_H);
menuBar.add(smart);

//ADD MENUBAR TO THE FRAME
this.setJMenuBar(menuBar);

//ADD ITEMS TO THE POPUP
pop.add(undoAction);
pop.add(redoAction);
pop.addSeparator();
pop.add(menuItem);
pop.add(menucut);
pop.add(menupaste);
pop.add(menuclear);

//VALIDATION
newFile.setBorder(null);
openFile.setBorder(null);
saveFile.setBorder(null);
cutFile.setBorder(null);
copyFile.setBorder(null);
pasteFile.setBorder(null);

//ADD TO TOOLBAR
toolBar.add(newFile);
newFile.setToolTipText("New file");
toolBar.addSeparator();
toolBar.add(openFile);
openFile.setToolTipText("Open file");
toolBar.add(saveFile);
saveFile.setToolTipText("Save file");
toolBar.addSeparator();
toolBar.add(cutFile);
cutFile.setToolTipText("Cut");
toolBar.add(copyFile);
copyFile.setToolTipText("Copy");
toolBar.add(pasteFile);
pasteFile.setToolTipText("Paste");


//ACTION FOR NEW FILE ON THE TOOLBAR
newFile.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
opened = false;
if(area.getText().equals(""))
{
System.out.print("text is empty");
}
else
{
int confirm = JOptionPane.showConfirmDialog(null,
"Would you like to save?",
"New File",
JOptionPane.YES_NO_CANCEL_OPTION);

if( confirm == JOptionPane.YES_OPTION )
{
saveFile();
area.setText(null);
statusPanel.removeAll();
statusPanel.validate();
}
else
if( confirm == JOptionPane.CANCEL_OPTION )
{}
else if( confirm == JOptionPane.NO_OPTION )
{
area.setText(null);
statusPanel.removeAll();
statusPanel.validate();
}
}
}
});

////OPEN BUTTON ON THE TOOLBAR
openFile.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openFile();
}
});

////SAVE BUTTON ON THE TOOLBAR
saveFile.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
saveFile();
}
});

//ACTION FOR CUT BUTTON ON THE TOOLBAR
cutFile.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.cut();
}
});

//ACTION FOR COPY BUTTON ON THE TOOLBAR
copyFile.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.copy();
}
});

//ACTION FOR PASTE BUTTON ON THE TOOLBAR
pasteFile.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.paste();
}
});


//ACTIONLISTENER FOR OTHER ITEMS ON THE TOOLBAR
//COPY BUTTON ON THE TOOLBAR
menuItem.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.copy();
menupaste.setEnabled(true);
pasteFile.setEnabled(true);
PASTEDIT.setEnabled(true);
}
});

//CUT BUTTON ON THE TOOLBAR
menucut.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.cut();
menupaste.setEnabled(true);
pasteFile.setEnabled(true);
PASTEDIT.setEnabled(true);
}
});

//PASTE BUTTON ON THE TOOLBAR
menupaste.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.paste();
}
});

//CLEAR BUTTON ON THE TOOLBAR
menuclear.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.setText(null);
}
});

//ACTIONLISTENER FOR ITEMS IN THE MENUBAR

//OPEN A NEW FILE
NEWFILE.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
NEWFILE.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
opened = false;
int confirm = JOptionPane.showConfirmDialog(null,
"Would you like to save?",
"New File",
JOptionPane.YES_NO_CANCEL_OPTION);

if( confirm == JOptionPane.YES_OPTION )
{
saveFile();
area.setText(null);
statusPanel.removeAll();
statusPanel.validate();
}
else
if( confirm == JOptionPane.CANCEL_OPTION )
{}
else
{
area.setText(null);
statusPanel.removeAll();
statusPanel.validate();
}
}
});

//SAVE OPTION. HAS A VALIDATION CHECK THAT CHECKS WETHER ITS AN OPENED FILE OR NEW FILE
SAVEFILE.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
SAVEFILE.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
saveFile();
}
});

//OPTION THAT WILL BRING UP A DIALOG WHICH SAVES THE FILE WITH A NAME AND FORMAT DESIRED
SAVEASFILE.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
opened = false;
saveFile();
}
});
SELECTEDIT.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
SELECTEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.selectAll();
}
});

//PRINTS WHATEVER IS IN THE TEXT AREA
PRINTFILE.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK));
PRINTFILE.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(area.getText().equals(""))
JOptionPane.showMessageDialog(null, "Text Area is empty.");
else
print(createBuffer());

}
});

//ACTION FOR STATUS BUTTON
STATUSVIEW.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(STATUSVIEW.isSelected())
statusPanel.setVisible(true);
else
statusPanel.setVisible(false);
}
});

//ACTION FOR OPEN BUTTON
OPENFILE.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));
OPENFILE.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openFile();
}
});

//ACTION FOR CUT BUTTON
CUTEDIT.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
CUTEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.cut();
}
});

//ACTION FOR COPY BUTTON
COPYEDIT.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
COPYEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.copy();
}
});

//ACTION FOR PASTE BUTTON
PASTEDIT.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
PASTEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.paste();
}
});

//FONT SELECTOR OPTION
FONT.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, ActionEvent.CTRL_MASK));
FONT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
fontS.setVisible(true);
fontS.okButton.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent ae)
{
Font selectedFont = fontS.returnFont();
area.setFont(selectedFont);
fontS.setVisible(false);
}
});

fontS.cancelButton.addActionListener(new ActionListener ()
{
public void actionPerformed(ActionEvent ae)
{
fontS.setVisible(false);
}
});
}
});

//PRINTS THE SYSTEM DATE AND TIME IN THE EDITOR
TIMEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Date currentDate;
SimpleDateFormat formatter;
String dd;
formatter = new SimpleDateFormat("KK:mm aa MMMMMMMMM dd yyyy", Locale.getDefault());
currentDate = new java.util.Date();
dd = formatter.format(currentDate);
area.insert(dd,area.getCaretPosition());
}
});

//FINDS A WORD IN THE EDITOR
FINDEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
sbufer = new StringBuffer(area.getText());
findString = JOptionPane.showInputDialog(null, "Find");
ind = sbufer.indexOf(findString);
area.setCaretPosition(ind);
area.setSelectionStart(ind);
area.setSelectionEnd(ind+findString.length());
}
catch(IllegalArgumentException npe)
{
JOptionPane.showMessageDialog(null, "String not found");
}catch(NullPointerException nfe){}
}
});

//FINDS A WORD IN THE EDITOR
FINDNEXTEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
sbufer = new StringBuffer(area.getText());
findString = JOptionPane.showInputDialog(null, "Find");
ind = sbufer.indexOf(findString, area.getCaretPosition());
area.setCaretPosition(ind);
area.setSelectionStart(ind);
area.setSelectionEnd(ind+findString.length());
}
catch(IllegalArgumentException npe)
{
JOptionPane.showMessageDialog(null, "String not found");
}catch(NullPointerException nfe){}
}
});

//EXITS THE APPLICATION AND CHECKS FOR ANY CHANGES MADE
EXITFILE.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.CTRL_MASK));
EXITFILE.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int confirm = JOptionPane.showConfirmDialog(null,
"Would you like to save?",
"Exit Application",
JOptionPane.YES_NO_CANCEL_OPTION);

if( confirm == JOptionPane.YES_OPTION )
{
saveFile();
dispose();
System.exit(0);
}
else
if( confirm == JOptionPane.CANCEL_OPTION )
{}
else
{
dispose();
System.exit(0);
}
}
});


//ACTION FOR REPLACE OPTION
REPLACEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
String replace = JOptionPane.showInputDialog(null, "Replace");
area.replaceSelection(replace);
}catch(NumberFormatException nfe){}
}
});

//ACTION FOR GO TO OPTION
GOTOEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Element root = area.getDocument().getDefaultRootElement();
Element paragraph=root.getElement(Integer.parseInt(JOptionPane.showInputDialog(null, "Go to line")));
area.setCaretPosition(paragraph.getStartOffset()-1);
}catch(NullPointerException npe)
{
JOptionPane.showMessageDialog(null, "Invalid line number");
}catch(NumberFormatException nfe)
{

}
}
});

//ACTION FOR DELETE OPTION
DELETEDIT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
area.replaceSelection(null);
}
});

//SETS THE LINEWRAP OT TRUE OR FALSE
WORDFORMAT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(WORDFORMAT.isSelected())
area.setLineWrap(true);
else
area.setLineWrap(false);
}
});

//ABOUT
ABOUT.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F2, ActionEvent.CTRL_MASK));
ABOUT.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
URL img = getClass().getResource("logo.jpg");
String imagesrc = "<img src=\"" + img + "\" width=\"323\" height=\"185\">";
String message = "Application using 'Swing' in JAVA\n"+
"Developed by Ms. Divya, Mr. Dilip & Ms. Swati\n"+
"Version 3-/10/2004\n"+
"Not for use without acknowldedgment of the Developer Team\n"+
"Please dont reuse this code without prior notice.\n"+
"The application is submitted as minor project to IPER, Bhopal.\n";

JOptionPane.showMessageDialog(aboutPanel,"<html><center>" + imagesrc + "<br>" + message);
}
});


//CLOSES THE WINDOW WHEN THE CLOSE BUTTON IS PRESSED
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int confirm = JOptionPane.showConfirmDialog(null,
"Would you like to save?",
"Exit Application",
JOptionPane.YES_NO_CANCEL_OPTION);

if( confirm == JOptionPane.YES_OPTION )
{
saveFile();
dispose();
System.exit(0);
}
else
if( confirm == JOptionPane.CANCEL_OPTION )
{

}
else
{
dispose();
System.exit(0);
}
}
});

}

//MAIN FUNCTION.
public static void main(String args[])
{
Smartpad l = new Smartpad();
l.setVisible(true);
}

//FUNCTION CALLED BY THE SAVE BUTTON
public void saveFile()
{
String line = area.getText();
if(opened==true)
{
try
{
FileWriter output = new FileWriter(file);
BufferedWriter bufout = new BufferedWriter(output);
bufout.write(line, 0, line.length());
JOptionPane.showMessageDialog(null, "Save Successful");
bufout.close();
output.close();
}catch(IOException ioe){ioe.printStackTrace();}
}
else
{
JFileChooser fc = new JFileChooser();
int result = fc.showSaveDialog(new JPanel());

if(result == JFileChooser.APPROVE_OPTION)
{
fileN = String.valueOf(fc.getSelectedFile());

try
{
FileWriter output = new FileWriter(fileN);
BufferedWriter bufout = new BufferedWriter(output);
bufout.write(line, 0, line.length());
JOptionPane.showMessageDialog(null, "Save Successful");
bufout.close();
output.close();
opened = true;
}catch(IOException ioe){ioe.printStackTrace();}
}
}
}

//PRINT FUNCTION
public String createBuffer()
{
String buffer;
buffer = area.getText();
return buffer;
}

private void print(String s)
{
StringReader sr = new StringReader(s);
LineNumberReader lnr = new LineNumberReader(sr);
Font typeface = new Font("Monospaced", Font.PLAIN, 12);
Properties p = new Properties();
PrintJob pjob = getToolkit().getPrintJob(this, "Print report", p);

if (pjob != null) {
Graphics pg = pjob.getGraphics();
if (pg != null) {
FontMetrics fm = pg.getFontMetrics(typeface);
int margin = 20;
int pageHeight = pjob.getPageDimension().height - margin;
int fontHeight = fm.getHeight();
int fontDescent = fm.getDescent();
int curHeight = margin;

String nextLine;
pg.setFont (area.getFont());

try
{
do
{
nextLine = lnr.readLine();
if (nextLine != null) {
if ((curHeight + fontHeight) > pageHeight)
{ // New Page
pg.dispose();
pg = pjob.getGraphics();
curHeight = margin;
}

curHeight += fontHeight;

if (pg != null)
{
pg.setFont (typeface);
pg.drawString (nextLine, margin, curHeight - fontDescent);
}
}
}
while (nextLine != null);

}
catch (EOFException eof)
{
}
catch (Throwable t)
{
t.printStackTrace();
}
}
pg.dispose();
}
if (pjob != null)
pjob.end();
}

//FUNCTION TO OPEN THE FILE
public void openFile()
{
statusPanel.removeAll();
statusPanel.validate();
area.setText(null);
JFileChooser fc = new JFileChooser();
int result = fc.showOpenDialog(new JPanel());

if(result == JFileChooser.APPROVE_OPTION)
{
String file = String.valueOf(fc.getSelectedFile());
//String dirn = fc.getDirectory();

File fil = new File(file);
newFile.setEnabled(false);

//START THIS THREAD WHILE READING FILE
Thread loader = new FileLoader(fil, area.getDocument());
loader.start();
statusPanel.removeAll();
statusPanel.revalidate();
}else{}
}


//CLASS FOR THE MOUSELIsTENER
class PopupListener extends MouseAdapter {

public void mousePressed(MouseEvent e) {

maybeShowPopup(e);
}

public void mouseReleased(MouseEvent e) {
maybeShowPopup(e);
}

private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
pop.show(e.getComponent(),
e.getX(), e.getY());
}
}
}

//CLASS FOR UNDOLISTENER
public class MyUndoableEditListener
implements UndoableEditListener
{
public void undoableEditHappened(UndoableEditEvent e) {
//Remember the edit and update the menus
undo.addEdit(e.getEdit());
undoAction.update();
redoAction.update();
}
}



/**
* Thread to load a file into the text storage model
*/
class FileLoader extends Thread {

JLabel state;

FileLoader(File f, Document doc) {
setPriority(4);
this.f = f;
this.doc = doc;
}

public void run() {
try {
// initialize the statusbar
statusPanel.removeAll();
JProgressBar progress = new JProgressBar();
progress.setMinimum(0);
progress.setMaximum((int) f.length());
statusPanel.add(new JLabel("opened so far "));
statusPanel.add(progress);
statusPanel.revalidate();

// try to start reading
Reader in = new FileReader(f);
char[] buff = new char[4096];
int nch;
while ((nch = in.read(buff, 0, buff.length)) != -1) {
doc.insertString(doc.getLength(), new String(buff, 0, nch), null);
progress.setValue(progress.getValue() + nch);
}

// we are done... get rid of progressbar
statusPanel.removeAll();
statusPanel.revalidate();

}
catch (IOException e) {
System.err.println(e.toString());
}
catch (BadLocationException e) {
System.err.println(e.getMessage());
}
newFile.setEnabled(true);
}
Document doc;
File f;
}


//UNDO AND REDOACTION CLASSES
//THIS PASRT OF CODE WAS TAKEN FROM THE NOTEPAD DEMO FOUND IN THE JDK1.4.1 DEMO DIRECTORY
class UndoAction extends AbstractAction {
public UndoAction() {
super("Undo");
setEnabled(false);
}

public void actionPerformed(ActionEvent e) {
try {
undo.undo();
} catch (CannotUndoException ex) {
System.out.println("Unable to undo: " + ex);
ex.printStackTrace();
}
update();
redoAction.update();
}

protected void update() {
if(undo.canUndo()) {
setEnabled(true);
putValue("Undo", undo.getUndoPresentationName());
}
else {
setEnabled(false);
putValue(Action.NAME, "Undo");
}
}
}

class RedoAction extends AbstractAction {
public RedoAction() {
super("Redo");
setEnabled(false);
}

public void actionPerformed(ActionEvent e) {
try {
undo.redo();
} catch (CannotRedoException ex) {
System.out.println("Unable to redo: " + ex);
ex.printStackTrace();
}
update();
undoAction.update();
}

protected void update() {
if(undo.canRedo()) {
setEnabled(true);
putValue("Redo", undo.getRedoPresentationName());
}
else {
setEnabled(false);
putValue(Action.NAME, "Redo");
}
}
}


//END MAIN CLASS
}
////////////////////////////////////////////////////////////////////////




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

public class fontSelector extends JDialog
{

String fontString[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
JComboBox fontSelector = new JComboBox(fontString);
JLabel fontLabel = new JLabel("Select Font");

String fontSizeString[] = {"10","12","14","16","18","20","22","24","28"};
JComboBox fontSize = new JComboBox(fontSizeString);
JLabel sizeLabel = new JLabel("Select Size");

String fontStyleString[] = {"Normal","Bold","Italic","Bold Italic"};
JComboBox fontStyle = new JComboBox(fontStyleString);
JLabel styleLabel = new JLabel("Select Style");

JButton okButton = new JButton("OK");
JButton cancelButton = new JButton("Cancel");

JLabel previewLabel = new JLabel("Preview:");
JLabel preview = new JLabel(" AaBbCc");

Font selectedFont;

public fontSelector()
{
this.setSize(300,200);
this.setBackground(Color.blue);
this.setTitle("Font Selector");

getContentPane().setLayout(null);

fontLabel.setBounds(10,10,100,20);
fontSelector.setBounds(110,10,150,20);
sizeLabel.setBounds(10,35,100,20);
fontSize.setBounds(110,35,100,20);
styleLabel.setBounds(10,60,100,20);
fontStyle.setBounds(110,60,100,20);

okButton.setBounds(10,100,100,20);
cancelButton.setBounds(110,100,100,20);

previewLabel.setBounds(50,130,100,30);
preview.setBorder(BorderFactory.createLineBorder(Color.black));
preview.setBounds(120,130,70,30);

getContentPane().add(fontLabel);
getContentPane().add(fontSelector);
getContentPane().add(sizeLabel);
getContentPane().add(fontSize);
getContentPane().add(styleLabel);
getContentPane().add(fontStyle);
getContentPane().add(okButton);
getContentPane().add(cancelButton);
getContentPane().add(previewLabel);
getContentPane().add(preview);

//SETS THE PREVIEW
fontSelector.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
preview.setFont(new Font(String.valueOf(fontSelector.getSelectedItem()),fontStyle.getSelectedIndex(),14));
}
});
fontStyle.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
preview.setFont(new Font(String.valueOf(fontSelector.getSelectedItem()),fontStyle.getSelectedIndex(),14));
}
});
}

public Font returnFont()
{
String fontSS = String.valueOf(fontSelector.getSelectedItem());
int fontSZ = Integer.parseInt(String.valueOf(fontSize.getSelectedItem()));
int fontST = fontStyle.getSelectedIndex();

selectedFont = new Font(fontSS,fontST,fontSZ);

return selectedFont;
}

}
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24166
    
  30

Do you have a question? If so, find this thread over in Java in General (Intermediate), where I'm really moving it this time, and tell us what it is.
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18103
    
  39

I am assuming when you say "Exception Null", you are referring to a NullPointerException. Null pointer exception stacktraces, generally tell you the class, and line number, which the exception occurred. That should be a good starting point to look.

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 13868
    
  10

Have a look at this: How to resolve a java.lang.NullPointerException


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Exception Null
 
Similar Threads
help regarding batch file
encrypt and decrypt a file in Java
javax.crypto.IllegalBlockSizeException: When Decoding an Input String
BadPaddingException using AES
Need Help in Encryption