Formatting Messages: Arabic Digit
import java.awt.event.*; import java.awt.*; import java.text.*; import javax.swing.*; public class ArabicDigits extends JPanel { static JFrame frame; public ArabicDigits() { NumberFormat nf = NumberFormat.getInstance(); if (nf instanceof DecimalFormat) { DecimalFormat df = (DecimalFormat)nf; DecimalFormatSymbols dfs = df.getDecimalFormatSymbols(); // set the beginning of the range to Arabic digits dfs.setZeroDigit('\u0660'); df.setDecimalFormatSymbols(dfs); } // create a label with the formatted number JLabel label = new JLabel(nf.format(1234567.89)); // set the font with a large enough size so we can easily // read the numbers label.setFont(new Font("Lucida Sans", Font.PLAIN, 22)); add(label); } public static void main(String [] argv) { ArabicDigits panel = new ArabicDigits(); frame = new JFrame("Arabic Digits"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);}}); frame.getContentPane().add("Center", panel); frame.pack(); frame.setVisible(true); } }