import	java.applet.Applet;
import	java.awt.*;
import	java.util.*;
import	java.net.*;
import	java.io.*;
import	java.lang.reflect.Array;
import	java.util.Enumeration;
import	java.util.Locale;
import	java.util.ResourceBundle;


public class PrintResourceBundle extends java.applet.Applet {
		Image		buf;
		Graphics	gBuf;

		TextArea	tr;
		String		str = "";
		InputStream	is;
		DataInputStream	ds;

	public void init() {
		Dimension d = size();
		buf  = createImage( d.width, d.height );  
		gBuf = buf.getGraphics(); 
		str = getResourceBundleString();
		setBackground( Color.lightGray );
		setLayout( null );

		tr = new TextArea( d.width, d.height );
		add( tr );
		tr.setText( str );
	}

    public void destroy() { gBuf.dispose(); } 

    public void update( Graphics g ){
    	paint( g );
    }
    
    public void paint( Graphics g ) {
      g.drawImage( buf, 0, 0, this );          
    }

	public String getResourceBundleString() {
		String str="";
//		String languageCode	= getParameter( "languageCode" );
//		String countryCode	= getParameter( "countryCode" );
//		String variantCode	= getParameter( "variantCode" );
		
//		if(( null == languageCode )&&( null == countryCode )&&( null == variantCode )){
			str += "Default Locale = " + Locale.getDefault().toString() + "\n";
//		}else{
//			Locale l = new Locale( languageCode, countryCode, variantCode );
//			str += "Specified Locale = " + l.toString() + "\n";
//		}
		
		ResourceBundle rb = ResourceBundle.getBundle( "java.text.resources.LocaleElements" );
		Enumeration e = rb.getKeys();
		while( e.hasMoreElements() ){
			String key = (String)e.nextElement();
			Object obj = rb.getObject( key );
			str += key + " = " + printObject( obj ) + "\n";
		}
		return str;
	}
	
	static String printObject( Object obj ){
		if( obj.getClass().isArray() ){
			String s = "[";
			for( int i = 0; i < Array.getLength( obj ); i++ ){
				s += " " + printObject( Array.get( obj, i ));
			}
			return s + "]";
		}else	return obj.toString();
	}
}

