Thursday, February 3, 2011

BouncyCastle Unleashed!

Bouncy Castle is a collection of cryptographic APIs for both Java  & C#. 

Installing the Java Cryptography Extension (JCE) Unlimited Strength Policy Files:

Download the archive jce_policy-6.zip from JavaSE Downloads page.
Copy the files local_policy.jar and US_export_policy.jar from the archive to the folder %JAVA_HOME%\jre\lib\security, overwriting the files already present in the directory.

Generating KeyPair
KeyPair caKeyPair = null;
        try {
            KeyPairGenerator  keyGen = KeyPairGenerator.getInstance("RSA");
            keyGen.initialize(1024);
            caKeyPair = keyGen.generateKeyPair();
        } catch (NoSuchAlgorithmException ex) {
            
        }

Sunday, January 2, 2011

JButtonMenuItem

JButtonMenuItem is a swing component to add buttons to the JMenuItem, like the edit MenuItem in Google Chrome. This is an easy to use control and can be added to the NetBeans palette. This control fires an buttonClicked event, if the button on the JButtonMenuItem is fired. The getActionCommand method of the event returns the text of the button pressed.

To handle the event you need to subscribe to JButtonMenuItemListener.

Screenshots:




Monday, November 29, 2010

JSplitButton

A simple implementation of the split button control in Java. This control raises two events
  1. buttonClicked(e) 
  2. splitButtonClicked(e)
 The buttonClicked event is raised when the button is clicked, the left part, which will not trigger the dropdown menu. Whereas the splitButtonClicked event is raised when the split part of the button is clicked and displays a popup menu.
To handle these events you need to subscribe to SplitButtonActionListener.

Screenshots:




Friday, November 12, 2010

Simple Swing Validation using InputVerifier

There are many frameworks available out there for swing validation, like Simple Validation and JGoodies Validation and both being open source. But it looked to me, using these frameworks would require me to change a lot of my existing GUI code. And being a NetBeans user this looked tedious to me(as most of the GUI code is generated by the IDE). Then I came across Michael Urban's post - "Building a Swing Validation Package with InputVerifier". I have just extended his implementation to suit my needs, like instead of showing a popup for the error message, I wanted an icon painted right in the textfield like in netbeans.


P.S. The GTK Look and Feel does'nt allow a custom background in the JTextField. If you run this application under a different look and feel you could see the background color changing as well.

Monday, October 18, 2010

Display XML in JTree with DnD Support

This brief tutorial will explain how to use Java to display a tree view of XML using JTree with drag n drop support ,custom TreeCellRenderer to display different icons for different type of nodes and a popup.




Tuesday, August 24, 2010

File Scrubber

File Scrubber is a secure data removal java class. It allows you to securely delete files/directories from your hard drive by overwriting it random data 'n' number of times.

Usage:


FileScrubber scrubber= new FileScrubber();
   try
   {
//overwrites the given directory 5 times
       scrubber.scrub(new File("C:\\fileOrDir\\to\\delete"), 5);
   }
   catch(Exception ex)
   {
       System.err.println(ex.getMessage());
   } 
 

Wednesday, August 4, 2010

Displaying Numbers in Native Scripts C#

For one of my web app i had to display numbers in native script, arabic in my case. After googling around, i found these two useful websites

UTF8Encoding.GetDecoder Method (MSDN)
JavaScript Unicode Charts

Navigate to the JavaScript Unicode Charts page, then select your preferred script from the dropdown menu(i'll follow the example for arabic). Then you'll be shown a Unicode script chart of your selected langauge.



The highlighted row in the above screenshot is the arabic numerals and D9A0 is the utf-8 encoding value for the arabic number 0, D9A5 will be the arabic number 5.